qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] add MADV_DONTFORK to guest physical memory


From: Andrea Arcangeli
Subject: Re: [Qemu-devel] [PATCH] add MADV_DONTFORK to guest physical memory
Date: Wed, 5 Jan 2011 20:54:30 +0100

Hello everyone,

On Wed, Jan 05, 2011 at 08:44:38PM +0100, Alexander Graf wrote:
> 
> On 05.01.2011, at 19:02, Michael Roth wrote:
> 
> > On 01/05/2011 09:10 AM, Andrea Arcangeli wrote:
> >> The bug is still there so I rediffed the old patch against current
> >> code.
> >> 
> >> On a related topic: could somebody give me advice on how to implement
> >> a command line (command line seems enough, the other option would be
> >> monitor command) to make the MADV_MERGEABLE conditional? I got KSM on
> >> THP working fine but KSM may decrease performance by increasing the
> >> number of copy on write and by splitting hugepages, so we'd like to be
> >> able to turn off KSM on a per-VM basis (not on the whole host, which
> >> of course we already can by setting /sys/kernel/mm/ksm/run to 0) so
> >> that high perf VMs will keep running at maximum speed with KSM off but
> >> others may still benefit from KSM. For that I need to make the below
> >> MADV_MERGEABLE madvise conditional to something and the code itself
> >> will be trivial, we've just to converge on a command line option
> >> (hopefully quickly ;).
> > 
> > There was a -mem_prealloc option added a while back to set MAP_POPULATE on 
> > memory mapped in via the -mem-path option. So an analogous -mem_nomerge 
> > option or something along that line seems reasonable for conditionally 
> > unsetting QEMU_MADV_MERGEABLE.
> > 
> > And for consistency you should probably make both your proposed changes for 
> > -mem-path'd memory as well.
> 
> Why not clean up all that mess and introduce a new -mem option that would 
> just take all of the several options as parameters?
> 
> -mem size=512,populate=on,ksm=off
> 
> and default -m to something reasonable with the new syntax.

I'm neutral... so feel free to decide what I should implement ;).

One comment on combining -m ksm=off (or -mem_nomerge) with
-mem-path. It seems unnecessary because ksm can't be turned on on
VM_HUGETLB vmas (MADV_MERGEABLE will return -EINVAL) and mem-path only
makes sense if used in combination with hugetlbfs (which sets
VM_HUGETLB of course).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]