Re: [PATCH 4/4] mm: Remove lru parameter from __pagevec_lru_add andremove parts of pagevec API

From: Andrew Morton
Date: Wed May 15 2013 - 18:56:10 EST


On Mon, 13 May 2013 11:21:22 +0100 Mel Gorman <mgorman@xxxxxxx> wrote:

> Now that the LRU to add a page to is decided at LRU-add time, remove the
> misleading lru parameter from __pagevec_lru_add. A consequence of this is
> that the pagevec_lru_add_file, pagevec_lru_add_anon and similar helpers
> are misleading as the caller no longer has direct control over what LRU
> the page is added to. Unused helpers are removed by this patch and existing
> users of pagevec_lru_add_file() are converted to use lru_cache_add_file()
> directly and use the per-cpu pagevecs instead of creating their own pagevec.

Well maybe. The `lru' arg to __lru_cache_add is still there and is
rather misleading (I find it maddening ;)). AIUI, it's just there as
the means by which the __lru_cache_add() caller tells the LRU manager
that the caller wishes this page to start life on the active LRU, yes?
It doesn't _really_ specify an LRU list at all.

In which case I think it would be a heck of a lot clearer if the
callers were to do

SetPageActve(page);
__lru_cache_add(page);

no? (Or __lru_cache_add_active(page) and
__lru_cache_add_inactive(page) if one prefers).

Ditto lru_cache_add_lru() and probably other things. Let's have one
way of communicating activeness, not two.


--
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/