qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v7 08/35] exec: allow memory to be allocated fro


From: Xiao Guangrong
Subject: Re: [Qemu-devel] [PATCH v7 08/35] exec: allow memory to be allocated from any kind of path
Date: Wed, 4 Nov 2015 11:12:41 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0



On 11/04/2015 07:00 AM, Eduardo Habkost wrote:
On Mon, Nov 02, 2015 at 05:13:10PM +0800, Xiao Guangrong wrote:
Currently file_ram_alloc() is designed for hugetlbfs, however, the memory
of nvdimm can come from either raw pmem device eg, /dev/pmem, or the file
locates at DAX enabled filesystem

So this patch let it work on any kind of path

Signed-off-by: Xiao Guangrong <address@hidden>
---
  exec.c | 24 ++++++++++++------------
  1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/exec.c b/exec.c
index 9de38be..9075f4d 100644
--- a/exec.c
+++ b/exec.c
@@ -1184,25 +1184,25 @@ static void *file_ram_alloc(RAMBlock *block,
      char *c;
      void *area;
      int fd;
-    uint64_t hpagesize;
+    uint64_t pagesize;
      Error *local_err = NULL;

-    hpagesize = qemu_file_get_page_size(path, &local_err);
+    pagesize = qemu_file_get_page_size(path, &local_err);
      if (local_err) {
          error_propagate(errp, local_err);
          goto error;
      }

-    if (hpagesize == getpagesize()) {
-        fprintf(stderr, "Warning: path not on HugeTLBFS: %s\n", path);
+    if (pagesize == getpagesize()) {
+        fprintf(stderr, "Memory is not allocated from HugeTlbfs.\n");

If the point of this patch is to allow file_ram_alloc() to not be
specific to hugetlbfs anymore, this warning can simply go away.

(And in case if you really want to keep the warning, I don't see the
point of the changes you made to it.)


This is the history why we did it like this:
https://lists.gnu.org/archive/html/qemu-devel/2015-10/msg02862.html

Q:
| What this *actually* is trying to warn against is that
| mapping a regular file (as opposed to hugetlbfs)
| means transparent huge pages don't work.

| So I don't think we should drop this warning completely.
| Either let's add the nvdimm magic, or simply check the
| page size.

A:
| Check the page size sounds good, will check:
| if (pagesize != getpagesize()) {
|        ...print something...
|}

| I agree with you that showing the info is needed, however,
| 'Warning' might scare some users, how about drop this word or
| just show “Memory is not allocated from HugeTlbfs”?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]