On Mon, 26 Oct 2009, KOSAKI Motohiro wrote: > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index bf72055..5a27896 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -1899,6 +1899,12 @@ rebalance: > if (should_alloc_retry(gfp_mask, order, pages_reclaimed)) { > /* Wait for some write requests to complete then retry */ > congestion_wait(BLK_RW_ASYNC, HZ/50); > + > + /* > + * While we wait congestion wait, Amount of free memory can > + * be changed dramatically. Thus, we kick kswapd again. > + */ > + wake_all_kswapd(order, zonelist, high_zoneidx); > goto rebalance; > } > We're blocking to finish writeback of the directly reclaimed memory, why do we need to wake kswapd afterwards? -- To unsubscribe from this list: send the line "unsubscribe kernel-testers" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html