On Mon, Nov 22, 2010 at 3:07 AM, Rik van Riel<riel@xxxxxxxxxx> wrote:On 11/21/2010 09:24 AM, Minchan Kim wrote:
Now move_active_pages_to_lru can move pages into active or inactive.
if it moves the pages into inactive, it itself can clear PG_acive.
It makes the function more generic.
diff --git a/mm/vmscan.c b/mm/vmscan.c
index aa4f1cb..bd408b3 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1457,6 +1457,10 @@ static void move_active_pages_to_lru(struct zone
*zone,
VM_BUG_ON(PageLRU(page));
SetPageLRU(page);
+ /* we are de-activating */
+ if (!is_active_lru(lru))
+ ClearPageActive(page);
+
Does that mean we also want code to ensure that pages have
the PG_active bit set when we add them to an active list?
Yes. the function name is move_"active"_pages_to_lru.
So caller have to make sure pages have PG_active.