From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <451C01C8.7020104@oracle.com> Date: Thu, 28 Sep 2006 13:09:28 -0400 From: Chuck Lever Reply-To: chuck.lever@oracle.com MIME-Version: 1.0 Subject: Re: Checking page_count(page) in invalidate_complete_page References: <4518333E.2060101@oracle.com> <20060925141036.73f1e2b3.akpm@osdl.org> <45185D7E.6070104@yahoo.com.au> <451862C5.1010900@oracle.com> <45186481.1090306@yahoo.com.au> <45186DC3.7000902@oracle.com> <451870C6.6050008@yahoo.com.au> <4518835D.3080702@oracle.com> <451886FB.50306@yahoo.com.au> <451BF7BC.1040807@oracle.com> <20060928093640.14ecb1b1.akpm@osdl.org> <20060928094023.e888d533.akpm@osdl.org> <451BFB84.5070903@oracle.com> <20060928100306.0b58f3c7.akpm@osdl.org> In-Reply-To: <20060928100306.0b58f3c7.akpm@osdl.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org Return-Path: To: Andrew Morton Cc: Nick Piggin , Trond Myklebust , Steve Dickson , linux-mm@kvack.org List-ID: Andrew Morton wrote: > On Thu, 28 Sep 2006 12:42:44 -0400 > Chuck Lever wrote: > >> Andrew Morton wrote: >>> On Thu, 28 Sep 2006 09:36:40 -0700 >>> Andrew Morton wrote: >>> >>>>> I think a call to lru_add_drain_all() belongs in both the >>>>> invalidate_inode_pages() and the invalidate_inode_pages2() path. Do you >>>>> agree? >>>> Yes. >>> Or maybe not. lru_add_drain() will only drain the local CPU's buffer. If >>> the page is sitting in another CPU's buffer, the same problem will occur. >>> >>> IOW, you got lucky. >> I used lru_add_drain_all(), so it hit all the per-CPU pagevecs. > > lru_add_drain_all() is a nasty, hacky, not-exported-to-modules thing. It > equates to lru_add_drain() if !CONFIG_NUMA. > > Sigh, we're not getting there, are we? > > I'm still thinking we add invalidate_complete_page2() to get us out of > trouble and park the problem :(. That'd be a good approach for 2.6.18.x, > which I assume is fairly urgent. Choosing which fix to include is above my pay grade. Both of these proposals address the NFS readdir cache invalidation problem. But it seems like there is a real problem here -- the pages that are waiting to be added the LRU will always have a page count that is too high for invalidate_inode_pages to work on them. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org