All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.