From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Andres Lagar-Cavilla" Subject: Re: [PATCH 1 of 3] x86/mm/sharing: Clean ups for relinquishing shared pages on destroy Date: Wed, 18 Apr 2012 06:06:26 -0700 Message-ID: <2f4abfcbe8cf5d301c8d75ed984605a3.squirrel@webmail.lagarcavilla.org> References: <9cbdf6b230dc6d2d2964.1334240172@xdev.gridcentric.ca> <20120418124201.GF7013@ocelot.phlegethon.org> Reply-To: andres@lagarcavilla.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20120418124201.GF7013@ocelot.phlegethon.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Tim Deegan 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 Thanks for applying this one. Can I ask you to reconsider on the other two? Right now I can freeze up the hypervisor for several minutes (without these two patches). Soft lockups start popping up in dom0. I've had two instances in which the block IO driver bails out and the dom0 file system becomes read-only, forcing host reboot. It's a horrible performance regression this is fixing. Thanks, Andres > > Cheers, > > Tim. >