From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Kt0ML-0006KE-AU for qemu-devel@nongnu.org; Thu, 23 Oct 2008 09:36:17 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Kt0MF-0006Hw-JO for qemu-devel@nongnu.org; Thu, 23 Oct 2008 09:36:16 -0400 Received: from [199.232.76.173] (port=57263 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Kt0MF-0006Hq-Be for qemu-devel@nongnu.org; Thu, 23 Oct 2008 09:36:11 -0400 Received: from mx20.gnu.org ([199.232.41.8]:44181) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Kt0MD-0001Kj-5c for qemu-devel@nongnu.org; Thu, 23 Oct 2008 09:36:11 -0400 Received: from gecko.sbs.de ([194.138.37.40]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Kt0M0-0000nM-G0 for qemu-devel@nongnu.org; Thu, 23 Oct 2008 09:35:56 -0400 Message-ID: <49007DB1.6080800@siemens.com> Date: Thu, 23 Oct 2008 15:35:45 +0200 From: Jan Kiszka MIME-Version: 1.0 References: <1224771556-11146-1-git-send-email-glommer@redhat.com> <1224771556-11146-2-git-send-email-glommer@redhat.com> In-Reply-To: <1224771556-11146-2-git-send-email-glommer@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH 01/32] use anonymous memory for kqemu. Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Glauber Costa Cc: aliguori@us.ibm.com, jes@sgi.com, qemu-devel@nongnu.org, avi@qumranet.com, dmitry.baryshkov@siemens.com Glauber Costa wrote: > Signed-off-by: Glauber Costa -ENOREASON What was the original idea behind using a named mem region? Why is it no longer needed? Maybe I missed that point on the list, but then it would still be nice-to-have in the changelog. > --- > osdep.c | 111 --------------------------------------------------------------- > 1 files changed, 0 insertions(+), 111 deletions(-) > > diff --git a/osdep.c b/osdep.c > index 683aad0..31c96e6 100644 > --- a/osdep.c > +++ b/osdep.c > @@ -68,112 +68,9 @@ void qemu_vfree(void *ptr) > > #else > > -#if defined(USE_KQEMU) > - > -#ifdef __OpenBSD__ > -#include > -#include > -#include > -#else > -#include > -#endif > - > #include > #include > > -static void *kqemu_vmalloc(size_t size) > -{ > - static int phys_ram_fd = -1; > - static int phys_ram_size = 0; > - void *ptr; > - > -#ifdef __OpenBSD__ /* no need (?) for a dummy file on OpenBSD */ > - int map_anon = MAP_ANON; > -#else > - int map_anon = 0; > - const char *tmpdir; > - char phys_ram_file[1024]; > -#ifdef HOST_SOLARIS > - struct statvfs stfs; > -#else > - struct statfs stfs; > -#endif > - > - if (phys_ram_fd < 0) { > - tmpdir = getenv("QEMU_TMPDIR"); > - if (!tmpdir) > -#ifdef HOST_SOLARIS > - tmpdir = "/tmp"; > - if (statvfs(tmpdir, &stfs) == 0) { > -#else > - tmpdir = "/dev/shm"; > - if (statfs(tmpdir, &stfs) == 0) { > -#endif > - int64_t free_space; > - int ram_mb; > - > - free_space = (int64_t)stfs.f_bavail * stfs.f_bsize; > - if ((ram_size + 8192 * 1024) >= free_space) { > - ram_mb = (ram_size / (1024 * 1024)); > - fprintf(stderr, > - "You do not have enough space in '%s' for the %d MB of QEMU virtual RAM.\n", > - tmpdir, ram_mb); > - if (strcmp(tmpdir, "/dev/shm") == 0) { > - fprintf(stderr, "To have more space available provided you have enough RAM and swap, do as root:\n" > - "mount -o remount,size=%dm /dev/shm\n", > - ram_mb + 16); > - } else { > - fprintf(stderr, > - "Use the '-m' option of QEMU to diminish the amount of virtual RAM or use the\n" > - "QEMU_TMPDIR environment variable to set another directory where the QEMU\n" > - "temporary RAM file will be opened.\n"); > - } > - fprintf(stderr, "Or disable the accelerator module with -no-kqemu\n"); > - exit(1); > - } > - } > - snprintf(phys_ram_file, sizeof(phys_ram_file), "%s/qemuXXXXXX", > - tmpdir); > - phys_ram_fd = mkstemp(phys_ram_file); > - if (phys_ram_fd < 0) { > - fprintf(stderr, > - "warning: could not create temporary file in '%s'.\n" > - "Use QEMU_TMPDIR to select a directory in a tmpfs filesystem.\n" > - "Using '/tmp' as fallback.\n", > - tmpdir); > - snprintf(phys_ram_file, sizeof(phys_ram_file), "%s/qemuXXXXXX", > - "/tmp"); > - phys_ram_fd = mkstemp(phys_ram_file); > - if (phys_ram_fd < 0) { > - fprintf(stderr, "Could not create temporary memory file '%s'\n", > - phys_ram_file); > - exit(1); > - } > - } > - unlink(phys_ram_file); > - } > - size = (size + 4095) & ~4095; > - ftruncate(phys_ram_fd, phys_ram_size + size); > -#endif /* !__OpenBSD__ */ > - ptr = mmap(NULL, > - size, > - PROT_WRITE | PROT_READ, map_anon | MAP_SHARED, > - phys_ram_fd, phys_ram_size); > - if (ptr == MAP_FAILED) { > - fprintf(stderr, "Could not map physical memory\n"); > - exit(1); > - } > - phys_ram_size += size; > - return ptr; > -} > - > -static void kqemu_vfree(void *ptr) > -{ > - /* may be useful some day, but currently we do not need to free */ > -} > - > -#endif > - > void *qemu_memalign(size_t alignment, size_t size) > { > #if defined(_POSIX_C_SOURCE) > @@ -193,10 +90,6 @@ void *qemu_memalign(size_t alignment, size_t size) > /* alloc shared memory pages */ > void *qemu_vmalloc(size_t size) > { > -#if defined(USE_KQEMU) > - if (kqemu_allowed) > - return kqemu_vmalloc(size); > -#endif > #ifdef _BSD > return valloc(size); > #else > @@ -206,10 +99,6 @@ void *qemu_vmalloc(size_t size) > > void qemu_vfree(void *ptr) > { > -#if defined(USE_KQEMU) > - if (kqemu_allowed) > - kqemu_vfree(ptr); > -#endif > free(ptr); > } > Jan -- Siemens AG, Corporate Technology, CT SE 2 Corporate Competence Center Embedded Linux