Re: [RFCv2][PATCH 0/5] mm: Batch page reclamation undershink_page_list

From: Seth Jennings
Date: Mon May 20 2013 - 17:56:25 EST

On Thu, May 16, 2013 at 01:34:27PM -0700, Dave Hansen wrote:
> These are an update of Tim Chen's earlier work:
> I broke the patches up a bit more, and tried to incorporate some
> changes based on some feedback from Mel and Andrew.
> Changes for v2:
> * use page_mapping() accessor instead of direct access
> to page->mapping (could cause crashes when running in
> to swap cache pages.
> * group the batch function's introduction patch with
> its first use
> * rename a few functions as suggested by Mel
> * Ran some single-threaded tests to look for regressions
> caused by the batching. If there is overhead, it is only
> in the worst-case scenarios, and then only in hundreths of
> a percent of CPU time.
> If you're curious how effective the batching is, I have a quick
> and dirty patch to keep some stats:

Didn't do any performance comparison but did a kernel build with 2 make threads
per core in a memory constrained situation w/ zswap add got an average batch
size of 6.6 pages with the batch being empty on ~10% of calls.

rmb call: 423464
rmb pages: 2790332
rmb empty: 41408

The WARN_ONCE only gave me one stack for the first empty batch and, for what
it's worth, it was from kswapd.

Tested-by: Seth Jennings <sjenning@xxxxxxxxxxxxxxxxxx>

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at