Patch 1/3 is a small cleanup suggested by Matthew Wilcox which doesn't affect scalability or performance; Patch 2/3 moves some code in free_pcppages_bulk() outside of zone->lock and has Mel Gorman's ack; Patch 3/3 uses prefetch in free_pcppages_bulk() outside of zone->lock to speedup page merging under zone->lock but Mel Gorman has some concerns.
For details, please see their changelogs. Changes from v2: Patch 1/3 is newly added; Patch 2/3 is patch 1/2 in v2 and doesn't have any change except resolving conflicts due to the newly added patch 1/3; Patch 3/3 is patch 2/2 in v2 and only has some changelog updates on concerns part. v1 and v2 was here: https://lkml.org/lkml/2018/1/23/879 Aaron Lu (3): mm/free_pcppages_bulk: update pcp->count inside mm/free_pcppages_bulk: do not hold lock when picking pages to free mm/free_pcppages_bulk: prefetch buddy while not holding lock mm/page_alloc.c | 56 +++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 21 deletions(-) -- 2.14.3