linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* freeing pagecache
@ 2002-09-29 12:00 David Chow
  2002-09-29 13:38 ` Matthew Wilcox
  0 siblings, 1 reply; 3+ messages in thread
From: David Chow @ 2002-09-29 12:00 UTC (permalink / raw)
  To: linux-fsdevel

Hi all,

This is probabaly a question for the VFS or VM. If I some pages are 
associated with an inode (pagec->mapping->host == the_inode) . When 
running out of memory, how does the vm freeing up the pagecache? OK, if 
I am running out of memory, is there any chance for the vm freeing up 
the pages and leaving the inode and dentry in the dcache or it is 
trigerred by the shring_dcache and result in freeing up all the pages. 
In case if the pages are locked, how does the VM handle this case? 
Anyway, it is probably a question of the path of freeing up page 
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.

David



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: freeing pagecache
  2002-09-29 12:00 freeing pagecache David Chow
@ 2002-09-29 13:38 ` Matthew Wilcox
  2002-09-29 15:12   ` David Chow
  0 siblings, 1 reply; 3+ messages in thread
From: Matthew Wilcox @ 2002-09-29 13:38 UTC (permalink / raw)
  To: David Chow; +Cc: linux-fsdevel

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)

-- 
Revolutions do not require corporate support.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: freeing pagecache
  2002-09-29 13:38 ` Matthew Wilcox
@ 2002-09-29 15:12   ` David Chow
  0 siblings, 0 replies; 3+ messages in thread
From: David Chow @ 2002-09-29 15:12 UTC (permalink / raw)
  To: Matthew Wilcox; +Cc: linux-fsdevel

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-09-29 15:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-09-29 12:00 freeing pagecache David Chow
2002-09-29 13:38 ` Matthew Wilcox
2002-09-29 15:12   ` David Chow

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).