From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robin Holt Subject: [ofa-general] Re: [PATCH 08 of 11] anon-vma-rwsem Date: Tue, 13 May 2008 10:32:38 -0500 Message-ID: <20080513153238.GL19717@sgi.com> References: <6b384bb988786aa78ef0.1210170958@duo.random> <20080508003838.GA9878@sgi.com> <200805132206.47655.nickpiggin@yahoo.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Avi Kivity , linux-mm@kvack.org, Hugh Dickins , Nick Piggin , kvm-devel@lists.sourceforge.net, Roland Dreier , Eric Dumazet , general@lists.openfabrics.org, Christoph Lameter , Jack Steiner , Andrea Arcangeli , Peter Zijlstra , Rusty Russell , Chris Wright , Anthony Liguori , Marcelo Tosatti , Kanoj Sarcar , linux-kernel@vger.kernel.org, "Paul E. McKenney" , Robin Holt , Andrew Morton , Linus Torvalds To: Nick Piggin Return-path: Content-Disposition: inline In-Reply-To: <200805132206.47655.nickpiggin@yahoo.com.au> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: general-bounces@lists.openfabrics.org Errors-To: general-bounces@lists.openfabrics.org List-Id: kvm.vger.kernel.org On Tue, May 13, 2008 at 10:06:44PM +1000, Nick Piggin wrote: > On Thursday 08 May 2008 10:38, Robin Holt wrote: > > In order to invalidate the remote page table entries, we need to message > > (uses XPC) to the remote side. The remote side needs to acquire the > > importing process's mmap_sem and call zap_page_range(). Between the > > messaging and the acquiring a sleeping lock, I would argue this will > > require sleeping locks in the path prior to the mmu_notifier invalidate_* > > callouts(). > > Why do you need to take mmap_sem in order to shoot down pagetables of > the process? It would be nice if this can just be done without > sleeping. We are trying to shoot down page tables of a different process running on a different instance of Linux running on Numa-link connected portions of the same machine. The messaging is clearly going to require sleeping. Are you suggesting we need to rework XPC communications to not require sleeping? I think that is going to be impossible since the transfer engine requires a sleeping context. Additionally, the call to zap_page_range expects to have the mmap_sem held. I suppose we could use something other than zap_page_range and atomically clear the process page tables. Doing that will not alleviate the need to sleep for the messaging to the other partitions. Thanks, Robin