Re: is there a "lru_cache_add_anon_tail"?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/11/2012 01:13 AM, Dan Magenheimer wrote:

> (Still working on allowing zcache to "evict" swap pages...)
> 
> Apologies if I got head/tail reversed as used by the
> lru queues... the "directional sense" of the queues is
> not obvious so I'll describe using different terminology...
> 
> If I have an anon page and I would like to add it to
> the "reclaim soonest" end of the queue instead of the
> "most recently used so don't reclaim it for a long time"
> end of the queue, does an equivalent function similar to
> lru_cache_add_anon(page) exist?


Nope. 

> 
> In other words, I want this dirty anon page to be
> swapped out ASAP.


Why do you want to do that at the cost of ignoring of LRU ordering?

> 
> If no such function exists, can anyone more familiar
> with the VM LRU queues suggest the code for
> this function "lru_cache_add_anon_XXX(page)?
> Also what would be the proper text for XXX?


tail

> 
> I have some (experimental) code now to use it so
> could iterate/debug with any suggested code.  The
> calling snippet is:
> 
> 	__set_page_locked(new_page);
> 	SetPageSwapBacked(new_page);
> 	ret = __add_to_swap_cache(new_page, entry);
> 	if (likely(!ret)) {
> 		radix_tree_preload_end();
> 		lru_cache_add_anon_XXX(new_page)
> 		if (frontswap_get_page(new_page) = 0)
> 			SetPageUptodate(new_page);
> 		unlock_page(new_page);
> 
> This works using a call to the existing lru_cache_add_anon
> but new_page doesn't get swapped out for a long time.


Yes. it's to add the page to "most recently used so don't reclaim it for a long time" in your terms.
Adding new lru_cache_add_anon_tail isn't difficult but we need justification why we should do.

> 
> Thanks for any help/suggestions!
> Dan
> 
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
> Don't email: <a href=ilto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>
> 

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

-- 
Kind regards,
Minchan Kim

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]