Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760074AbYA1Qj6 (ORCPT ); Mon, 28 Jan 2008 11:39:58 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752547AbYA1Qju (ORCPT ); Mon, 28 Jan 2008 11:39:50 -0500 Received: from bzq-179-150-194.static.bezeqint.net ([212.179.150.194]:33874 "EHLO il.qumranet.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751474AbYA1Qjt (ORCPT ); Mon, 28 Jan 2008 11:39:49 -0500 X-Greylist: delayed 1734 seconds by postgrey-1.27 at vger.kernel.org; Mon, 28 Jan 2008 11:39:49 EST Message-ID: <479DFE7F.9030305@qumranet.com> Date: Mon, 28 Jan 2008 18:10:39 +0200 From: Izik Eidus User-Agent: Thunderbird 2.0.0.9 (X11/20071115) MIME-Version: 1.0 To: Andrea Arcangeli CC: Christoph Lameter , Robin Holt , Avi Kivity , Nick Piggin , kvm-devel@lists.sourceforge.net, Benjamin Herrenschmidt , Peter Zijlstra , steiner@sgi.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, daniel.blueman@quadrics.com, Hugh Dickins Subject: Re: [patch 0/4] [RFC] MMU Notifiers V1 References: <20080125055606.102986685@sgi.com> <20080125114229.GA7454@v2.random> In-Reply-To: <20080125114229.GA7454@v2.random> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2553 Lines: 60 Andrea Arcangeli wrote: > On Thu, Jan 24, 2008 at 09:56:06PM -0800, Christoph Lameter wrote: > >> Andrea's mmu_notifier #4 -> RFC V1 >> >> - Merge subsystem rmap based with Linux rmap based approach >> - Move Linux rmap based notifiers out of macro >> - Try to account for what locks are held while the notifiers are >> called. >> - Develop a patch sequence that separates out the different types of >> hooks so that it is easier to review their use. >> - Avoid adding #include to linux/mm_types.h >> - Integrate RCU logic suggested by Peter. >> > > I'm glad you're converging on something a bit saner and much much > closer to my code, plus perfectly usable by KVM optimal rmap design > too. It would have preferred if you would have sent me patches like > Peter did for review and merging etc... that would have made review > especially easier. Anyway I'm used to that on lkml so it's ok, I just > need this patch to be included in mainline, everything else is > irrelevant to me. > > On a technical merit this still partially makes me sick and I think > it's the last issue to debate. > > @@ -971,6 +974,9 @@ int try_to_unmap(struct page *page, int > else > ret = try_to_unmap_file(page, migration); > > + if (unlikely(PageExternalRmap(page))) > + mmu_rmap_notifier(invalidate_page, page); > + > if (!page_mapped(page)) > ret = SWAP_SUCCESS; > return ret; > > I find the above hard to accept, because the moment you work with > physical pages and not "mm+address" I think you couldn't possibly care > if page_mapped is true or false, and I think the above notifier should > be called _outside_ try_to_unmap. Infact I'd call > mmu_rmap_notifier(invalidate_page, page); only if page_unmapped is > false and the linux pte is gone already (practically just before the > page_count == 2 check and after try_to_unmap). > i dont understand how is that better than notification on tlb flush? i mean cpus have very smiler problem as we do, so why not deal with the notification at the same place as they do (tlb flush) ? moreover notification on tlb flush allow unmodified applications to work with us for example the memory merging driver that i wrote was able to work with kvm without any change to its source code. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/