From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Chow Subject: Re: freeing pagecache Date: Sun, 29 Sep 2002 23:12:09 +0800 Sender: linux-fsdevel-owner@vger.kernel.org Message-ID: <3D971849.3010106@shaolinmicro.com> References: <3D96EB64.7020406@shaolinmicro.com> <20020929143807.E18377@parcelfarce.linux.theplanet.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: linux-fsdevel@vger.kernel.org Return-path: To: Matthew Wilcox List-Id: linux-fsdevel.vger.kernel.org Matthew Wilcox wrote: >On Sun, Sep 29, 2002 at 08:00:36PM +0800, David Chow wrote: > > >>cache... The reason I am asking the question is that if I am safe to >>make use of an unlocked mapped pagecahed page. Thanks for comments and >>answers. >> >> > >You don't need to lock it, just bump its page count. include/linux/mm.h: > > * Also, many kernel routines increase the page count before a critical > * routine so they can be sure the page doesn't go away from under them. > */ >#define get_page(p) atomic_inc(&(p)->count) >#define put_page(p) __free_page(p) > > > I've read about the struct page, I thought it is some kind of lru algorithm used by kswapd, that measn pagecache is just like dcache which has usage counts. There are a couple listhead, is there any listhead that are not used for a pagecached page? If there are something that I can make use, I can simply use the listhead for my list... but I am not sure are there any potential hazards. Thanks for helps, comments are welcome. David