[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH] add MADV_DONTFORK to guest physical memory
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] Re: [PATCH] add MADV_DONTFORK to guest physical memory |
Date: |
Wed, 15 Sep 2010 23:03:14 +0200 |
User-agent: |
Mutt/1.5.20 (2009-12-10) |
On Wed, Sep 15, 2010 at 07:08:24PM +0200, Andrea Arcangeli wrote:
> From: Andrea Arcangeli <address@hidden>
>
> All allocated guest physical memory shall be marked MADV_DONTFORK, otherwise
> fork will fail because of accounting issues preventing migration or netdev_add
> when the guest allocated more than half of host physical memory.
>
> Signed-off-by: Andrea Arcangeli <address@hidden>
> ---
>
> diff --git a/exec.c b/exec.c
> index 380dab5..e2bdf19 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -2861,6 +2861,9 @@ ram_addr_t qemu_ram_alloc_from_ptr(DeviceState *dev,
> const char *name,
> #ifdef MADV_MERGEABLE
> madvise(new_block->host, size, MADV_MERGEABLE);
> #endif
> +#ifdef MADV_DONTFORK
> + madvise(new_block->host, size, MADV_DONTFORK);
> +#endif
> }
> }
Is this always a number of full host pages? If not, we'd get trouble
when trying to call helpers.
--
MST