[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1205444517.14987.14.camel@bodhitayantram.eng.vmware.com>
Date: Thu, 13 Mar 2008 14:41:57 -0700
From: Zachary Amsden <zach@...are.com>
To: Andrea Arcangeli <andrea@...ranet.com>
Cc: Hugh Dickins <hugh@...itas.com>,
Martin Schwidefsky <schwidefsky@...ibm.com>,
linux-kernel@...r.kernel.org, linux-s390@...r.kernel.org,
virtualization@...ts.osdl.org, akpm@...ux-foundation.org,
nickpiggin@...oo.com.au, frankeh@...son.ibm.com,
rusty@...tcorp.com.au, jeremy@...p.org, clameter@....com,
a.p.zijlstra@...llo.nl
Subject: Re: [patch 0/6] Guest page hinting version 6.
On Thu, 2008-03-13 at 20:45 +0100, Andrea Arcangeli wrote:
> On Thu, Mar 13, 2008 at 10:45:07AM -0700, Zachary Amsden wrote:
> > What doesn't appear to be useful however, is support for this under
> > VMware. It can be done, even without the writable pte support (yes,
> > really). But due to us exploiting optimizations at lower layers, it
> > doesn't appear that it will gain us any performance - and we must
> > already have the complex working set algorithms to support
> > non-paravirtualized guests.
>
> With non-paravirt all you can do is to swap the guest physical memory
> (mmu notifiers allows linux to do that) or share memory (mmu notifiers
> + ksm allows linux to do that too). We also have complex working set
> algorithms that we use to finds which parts of the guest physical
> address space are best to swap first: the core linux VM.
We can tap into those algorithms just as effectively using ballooning, and we've optimized the sharing and working set models from outside of the guest. So while CMM gives slightly better information for a random forced page eviction, the complexity doesn't appear to justify the savings for a VMware implementation.
Things would change quite a bit if we had hardware supported per-page dirty bits.
> than avoiding a few swapouts sometime (without mmu notifiers
> everything else is irrelevant, including guest page hinting and
> including ballooning too cause madvise(don't need) won't clear sptes
> and invalidate guest tlbs).
Ballooning still works if you use a kernel based balloon driver. Using
madvise wouldn't be a reliable way to balloon anyway. Are you talking
about an API to manage working sets and such from userspace?
Cheers,
Zach
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists