Re: [PATCH 08/13] list: add a new LRU list type

From: Konstantin Khlebnikov
Date: Tue Aug 23 2011 - 05:59:17 EST


Dave Chinner wrote:
On Tue, Aug 23, 2011 at 05:20:56AM -0400, Christoph Hellwig wrote:
On Tue, Aug 23, 2011 at 06:56:21PM +1000, Dave Chinner wrote:
From: Dave Chinner<dchinner@xxxxxxxxxx>

Several subsystems use the same construct for LRU lists - a list
head, a spin lock and and item count. They also use exactly the same
code for adding and removing items from the LRU. Create a generic
type for these LRU lists.

This is the beginning of generic, node aware LRUs for shrinkers to
work with.

Why list_lru vs the more natural sounding lru_list?

because the mmzone.h claimed that namespace:

enum lru_list {
LRU_INACTIVE_ANON = LRU_BASE,
LRU_ACTIVE_ANON = LRU_BASE + LRU_ACTIVE,
LRU_INACTIVE_FILE = LRU_BASE + LRU_FILE,
LRU_ACTIVE_FILE = LRU_BASE + LRU_FILE + LRU_ACTIVE,
LRU_UNEVICTABLE,
NR_LRU_LISTS
};

and it is widely spewed through the mm code. I didn't really feel
like having to clean that mess up first....

not so widely:

$ git grep -wc 'enum lru_list'
include/linux/memcontrol.h:5
include/linux/mm_inline.h:7
include/linux/mmzone.h:4
include/linux/pagevec.h:1
include/linux/swap.h:2
mm/memcontrol.c:10
mm/page_alloc.c:1
mm/swap.c:6
mm/vmscan.c:6

maybe is better to rename it to enum page_lru_list
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/