From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tim Deegan Subject: Re: [PATCH 1 of 3] x86/mm/sharing: Clean ups for relinquishing shared pages on destroy Date: Wed, 18 Apr 2012 13:42:01 +0100 Message-ID: <20120418124201.GF7013@ocelot.phlegethon.org> References: <9cbdf6b230dc6d2d2964.1334240172@xdev.gridcentric.ca> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <9cbdf6b230dc6d2d2964.1334240172@xdev.gridcentric.ca> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Andres Lagar-Cavilla Cc: adin@gridcentric.ca, andres@gridcentric.ca, keir.xen@gmail.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org At 10:16 -0400 on 12 Apr (1334225772), Andres Lagar-Cavilla wrote: > xen/arch/x86/domain.c | 16 ++++++++++++- > xen/arch/x86/mm/mem_sharing.c | 45 +++++++++++++++++++++++++++++++++++++++ > xen/arch/x86/mm/p2m.c | 4 +++ > xen/include/asm-arm/mm.h | 4 +++ > xen/include/asm-x86/domain.h | 1 + > xen/include/asm-x86/mem_sharing.h | 10 ++++++++ > xen/include/asm-x86/p2m.h | 4 +++ > 7 files changed, 82 insertions(+), 2 deletions(-) > > > When a domain is destroyed, its pages are freed in relinquish_resources in a > preemptible mode, in the context of a synchronous domctl. > > P2m entries pointing to shared pages are, however, released during p2m cleanup > in an RCU callback, and in non-preemptible mode. > > This is an O(n) operation for a very large n, which may include actually > freeing shared pages for which the domain is the last holder. > > To improve responsiveness, move this operation to the preemtible portion of > domain destruction, during the synchronous domain_kill hypercall. And remove > the bulk of the work from the RCU callback. > > Signed-off-by: Andres Lagar-Cavilla I've applied this as a bug-fix. The other two seem more like new development and I'm less happy about taking them before 4.2 Cheers, Tim.