From: Jan Kiszka <jan.kiszka@siemens.com>
To: Glauber Costa <glommer@redhat.com>
Cc: aliguori@us.ibm.com, jes@sgi.com, qemu-devel@nongnu.org,
avi@qumranet.com, dmitry.baryshkov@siemens.com
Subject: [Qemu-devel] Re: [PATCH 01/32] use anonymous memory for kqemu.
Date: Thu, 23 Oct 2008 15:35:45 +0200 [thread overview]
Message-ID: <49007DB1.6080800@siemens.com> (raw)
In-Reply-To: <1224771556-11146-2-git-send-email-glommer@redhat.com>
Glauber Costa wrote:
> Signed-off-by: Glauber Costa <glommer@redhat.com>
-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 <sys/param.h>
> -#include <sys/types.h>
> -#include <sys/mount.h>
> -#else
> -#include <sys/vfs.h>
> -#endif
> -
> #include <sys/mman.h>
> #include <fcntl.h>
>
> -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
next prev parent reply other threads:[~2008-10-23 13:36 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-23 14:18 [Qemu-devel] [PATCH 0/32] New shot at accelerators Glauber Costa
2008-10-23 13:35 ` [Qemu-devel] " Jan Kiszka
2008-10-23 14:07 ` Glauber Costa
2008-10-23 14:15 ` Avi Kivity
2008-10-23 13:44 ` Anthony Liguori
2008-10-23 14:18 ` [Qemu-devel] [PATCH 01/32] use anonymous memory for kqemu Glauber Costa
2008-10-23 13:35 ` Jan Kiszka [this message]
2008-10-23 13:48 ` [Qemu-devel] " Anthony Liguori
2008-10-23 14:17 ` Jan Kiszka
2008-10-23 14:25 ` Anthony Liguori
2008-10-23 15:08 ` Leonardo Reiter
2008-10-23 15:20 ` Leonardo Reiter
2008-10-24 19:30 ` Andreas Färber
2008-10-24 19:59 ` Ben Taylor
2008-10-25 10:17 ` [Qemu-devel] QEMU on Solaris 10 (was: [PATCH 01/32] use anonymous memory for kqemu.) Andreas Färber
2008-10-25 10:27 ` Andreas Färber
2008-10-25 10:45 ` Blue Swirl
2008-10-24 15:37 ` [Qemu-devel] Re: [PATCH 01/32] use anonymous memory for kqemu Glauber Costa
2008-10-23 14:18 ` [Qemu-devel] [PATCH 02/32] protect exec-all.h frm multiple inclusion Glauber Costa
2008-10-23 13:52 ` [Qemu-devel] " Anthony Liguori
2008-10-23 14:18 ` [Qemu-devel] [PATCH 03/32] change definition of FILE for linux Glauber Costa
2008-10-23 13:52 ` [Qemu-devel] " Anthony Liguori
2008-10-23 14:13 ` Glauber Costa
2008-10-23 14:18 ` [Qemu-devel] [PATCH 04/32] move kqemu_cpu_exec to kqemu.c Glauber Costa
2008-10-23 13:55 ` [Qemu-devel] " Anthony Liguori
2008-10-23 14:21 ` Glauber Costa
2008-10-23 14:18 ` [Qemu-devel] [PATCH 05/32] use more meaningful values for kqemu_cpu_exec Glauber Costa
2008-10-23 13:57 ` [Qemu-devel] " Anthony Liguori
2008-10-23 14:23 ` Glauber Costa
2008-10-23 14:18 ` [Qemu-devel] [PATCH 06/32] split kqemu_init into two Glauber Costa
2008-10-23 13:58 ` [Qemu-devel] " Anthony Liguori
2008-10-23 14:28 ` Glauber Costa
2008-10-23 14:18 ` [Qemu-devel] [PATCH 07/32] introduce QEMUAccel and fill it with interrupt specific driver Glauber Costa
2008-10-23 14:00 ` [Qemu-devel] " Anthony Liguori
2008-10-23 14:18 ` [Qemu-devel] [PATCH 08/32] init env made accel driver Glauber Costa
2008-10-23 14:18 ` [Qemu-devel] [PATCH 09/32] wrap cache flushing functions into accel drivers Glauber Costa
2008-10-23 14:18 ` [Qemu-devel] [PATCH 10/32] turn info kqemu into generic info accelerator Glauber Costa
2008-10-23 14:03 ` [Qemu-devel] " Anthony Liguori
2008-10-23 14:24 ` Glauber Costa
2008-10-23 14:18 ` [Qemu-devel] [PATCH 11/32] separate accelerator part of info profiler Glauber Costa
2008-10-23 14:18 ` [Qemu-devel] [PATCH 12/32] move kqemu externs to kqemu.h Glauber Costa
2008-10-23 14:18 ` [Qemu-devel] [PATCH 13/32] move disabling code to kqemu.c instead of vl.c Glauber Costa
2008-10-23 14:18 ` [Qemu-devel] [PATCH 14/32] set_notdirty goes through accel wrapper Glauber Costa
2008-10-23 14:18 ` [Qemu-devel] [PATCH 15/32] wrap modify_page through accel calls Glauber Costa
2008-10-23 14:19 ` [Qemu-devel] [PATCH 16/32] remove kqemu reference from hw/pc.c Glauber Costa
2008-10-23 14:19 ` [Qemu-devel] [PATCH 17/32] build list of available accelerators Glauber Costa
2008-10-23 13:45 ` [Qemu-devel] " Avi Kivity
2008-10-23 15:09 ` Glauber Costa
2008-10-23 15:15 ` Avi Kivity
2008-10-23 14:19 ` [Qemu-devel] [PATCH 18/32] provide --accel option Glauber Costa
2008-10-23 14:19 ` [Qemu-devel] [PATCH 19/32] add hook to cpu_register_physical_memory Glauber Costa
2008-10-23 14:19 ` [Qemu-devel] [PATCH 20/32] accel_trace_io Glauber Costa
2008-10-23 14:20 ` [Qemu-devel] " Anthony Liguori
2008-10-23 17:26 ` Glauber de Oliveira Costa
2008-10-25 11:10 ` [Qemu-devel] " andrzej zaborowski
2008-10-25 11:14 ` Glauber Costa
2008-10-23 14:19 ` [Qemu-devel] [PATCH 21/32] get_env accel wrapper Glauber Costa
2008-10-23 13:36 ` [Qemu-devel] " Avi Kivity
2008-10-23 14:19 ` [Qemu-devel] [PATCH 22/32] add next_cpu_index Glauber Costa
2008-10-23 14:21 ` [Qemu-devel] " Anthony Liguori
2008-10-23 14:37 ` Glauber Costa
2008-10-23 14:40 ` Jan Kiszka
2008-10-23 14:55 ` Glauber Costa
2008-10-23 14:19 ` [Qemu-devel] [PATCH 23/32] move cpu_get_time_fast to kqemu.c Glauber Costa
2008-10-23 14:19 ` [Qemu-devel] [PATCH 24/32] check wether kqemu is enabled in open code Glauber Costa
2008-10-23 13:38 ` [Qemu-devel] " Jan Kiszka
2008-10-23 14:49 ` Glauber Costa
2008-10-23 14:23 ` Anthony Liguori
2008-10-23 14:31 ` Glauber Costa
2008-10-23 14:19 ` [Qemu-devel] [PATCH 25/32] provide accel hook for cpu_exec Glauber Costa
2008-10-23 14:19 ` [Qemu-devel] [PATCH 26/32] provide two accelerators for kqemu Glauber Costa
2008-10-23 14:19 ` [Qemu-devel] [PATCH 27/32] arch-specific hooks for accelerator Glauber Costa
2008-10-23 13:30 ` [Qemu-devel] " Avi Kivity
2008-10-23 13:35 ` Jan Kiszka
2008-10-23 13:47 ` Avi Kivity
2008-10-23 14:19 ` [Qemu-devel] [PATCH 28/32] iret arch specific accelerator Glauber Costa
2008-10-23 14:19 ` [Qemu-devel] [PATCH 29/32] sysret/sysexit " Glauber Costa
2008-10-23 14:19 ` [Qemu-devel] [PATCH 30/32] lcall/lret arch specific accel hooks Glauber Costa
2008-10-23 14:19 ` [Qemu-devel] [PATCH 31/32] remove kqemu_is_ok tests Glauber Costa
2008-10-23 14:19 ` [Qemu-devel] [PATCH 32/32] clean up kqemu code Glauber Costa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49007DB1.6080800@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=aliguori@us.ibm.com \
--cc=avi@qumranet.com \
--cc=dmitry.baryshkov@siemens.com \
--cc=glommer@redhat.com \
--cc=jes@sgi.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).