> It drops *clean cache pages* instead of migration so that> migration latency could be reduced by avoiding (memcpy + page remapping).> It's useful for CMA because latency of migration is very important rather> than eviction of background processes's workingset. In addition, it needs

The signature is zone, list_head but you pass in list_head, zone. Iexpect that generates fun compile warnings and crashes at runtime.

The reason that I did not pass in zone to reclaim_clean_pages_from_list()in my version is because I did not want to force the list to all be from thesame zone. That will just happen to be true but shrink_page_list() reallydoes not care about the zone from the perspective of this new function. It'sused for a debugging check (disable it if !zone) and setting ZONE_CONGESTEDwhich will never be important as far as reclaim_clean_pages_from_list()is concerned. It will never call pageout().

It's up to you if you really want to pass zone in but I would not botherif I was you :)