From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [RFC] KVM guest page swap out support - take2 Date: Tue, 05 Jun 2007 17:17:08 +0300 Message-ID: <46657064.3090300@qumranet.com> References: <1180924515.4257.16.camel@sli10-conroe.sh.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel To: Shaohua Li Return-path: In-Reply-To: <1180924515.4257.16.camel-yAZKuqJtXNMXR+D7ky4Foa2pdiUAq4bhAL8bYrjMMd8@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org Shaohua Li wrote: > Hi, > This is a updated patch set of swap out kvm guest pages.Changes are: > 1. refresh against to kvm-26 > 2. clean up shadow page handling to make gfn_to_page not be called > within kmap_atomic/kunamp_atomic. > 3. variant bug fixing. Now the patch is quite stable in my test. > 4. make swap out optional. A compile option can completely close swap > out. There should be no performance impact if swapout isn't enabled. > > There are still a lot of unresolved issues: > 1. just work for one vm. waiting for kvm hook into scheduler > 2. Not work for mp guest and can't swap out pages which shadow page > table point to, this require kvm .flush_tlb can send ipi to vcpu. > 3. swapoff isn't supported. We need a hook to sys_swapoff for kvm. > > Please review, suggests and comments are welcome. > > The patch rmaps read-only guest pages. While this is of course required, it will make unshadowing ptes pointing to shared library pages very expensive. If we have a guest with 200 processes, all mapping glibc, then an exit() will have to walk a linear list of size 200 per shadowed pte. Do you know how the Linux rmap implementation handles this? An idea that comes to mind is to allocate an extra mm_struct for the guest and use the normal Linux vma management there. I don't know how practical this is. -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/