[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] pc: madvise(MADV_DONTNEED) memory on reset
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [PATCH] pc: madvise(MADV_DONTNEED) memory on reset |
Date: |
Wed, 24 Feb 2010 22:59:16 +0200 |
On 2/24/10, Anthony Liguori <address@hidden> wrote:
> If you compare the RSS of a freshly booted guest and the same guest after a
> reboot, it's very likely the freshly booted guest will have an RSS that is
> much lower the the rebooted guest because the previous run of the guest
> faulted
> in all available memory.
>
> This patch addresses this issue by using madvise() during reset. It only
> resets RAM areas which means it has to be done in the machine. I've only
> done
> this for the x86 target because I'm fairly confident that this is allowed
> architecturally on x86 although I'm not sure this is universely true.
>
> This does not appear to have an observable cost with a large memory guest and
> I can't really think of any down sides.
I think it would be much cleaner to make the madvise() calls from
exec.c, now you are duplicating some of the functionality there. The
calls could be controlled by a global variable (set only in pc.c) so
non-PC architectures would not be disturbed.