Re: [lc-devel] Initial Compressed Cache structure
Status: Beta
Brought to you by:
nitin_sf
From: <asb...@if...> - 2006-03-01 18:50:56
|
Nitin Gupta wrote: > I've been working on Compressed Cache structure for last few days. > Following is the brain dump of all the details required for ccache > structure implementation. This doc is a *headache* to follow (poorly > written, no diagrams included) -- but I'll later sketch them if > required for any part. <snip> > When shrinking, see pages belonging to which inode's mapping are > mostly being freed (using simple hooks in shrink_list()-vmscan.c). > This shows that a particular inode's (file's) pages are not being used= . > So, when shrinking, search the radix tree for compressed pages (search > based on PAGECACHE_TAG_COMPRESSED tag) and free all the associated > chunks. Since a page can only be freed when all the chunks contained > within are freed, relocate the remaining chunks in the page to free > chunks in other pages and finally free the page. > I'm not sure I follow, at least I need some clarification, when do you know a page is empty (so that it can be freed) or if you choose a page, how do you know what compressed page a chunk belongs to? PS! I might be confused since I have been looking at storing anonymous memory into the compressed area. Mvh, Asbj=F8rn Sannes |