Messages in this thread | | | Date | Mon, 26 Oct 2009 00:10:25 -0700 (PDT) | From | David Rientjes <> | Subject | Re: [PATCH 1/5] page allocator: Always wake kswapd when restarting an allocation attempt after direct reclaim failed |
| |
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?
| |