From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrea Arcangeli Subject: [ofa-general] Re: [patch 3/6] mmu_notifier: invalidate_page callbacks Date: Tue, 19 Feb 2008 14:30:09 +0100 Message-ID: <20080219133009.GG7128@v2.random> References: <20080215064859.384203497@sgi.com> <20080215193736.9d6e7da3.akpm@linux-foundation.org> <200802191946.10695.nickpiggin@yahoo.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: steiner@sgi.com, Peter Zijlstra , linux-mm@kvack.org, Izik Eidus , Kanoj Sarcar , Roland Dreier , linux-kernel@vger.kernel.org, Avi Kivity , kvm-devel@lists.sourceforge.net, daniel.blueman@quadrics.com, Robin Holt , general@lists.openfabrics.org, Andrew Morton , Christoph Lameter To: Nick Piggin Return-path: Content-Disposition: inline In-Reply-To: <200802191946.10695.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, Feb 19, 2008 at 07:46:10PM +1100, Nick Piggin wrote: > On Sunday 17 February 2008 06:22, Christoph Lameter wrote: > > On Fri, 15 Feb 2008, Andrew Morton wrote: > > > > > flush_cache_page(vma, address, pte_pfn(*pte)); > > > > entry = ptep_clear_flush(vma, address, pte); > > > > + mmu_notifier(invalidate_page, mm, address); > > > > > > I just don't see how ths can be done if the callee has another thread in > > > the middle of establishing IO against this region of memory. > > > ->invalidate_page() _has_ to be able to block. Confused. > > > > The page lock is held and that holds off I/O? > > I think the actual answer is that "it doesn't matter". Agreed. The PG_lock itself taken when invalidate_page is called, is used to serialized the VM against the VM, not the VM against I/O.