Re: [PATCH] mm: vmscan: fix setting reclaim mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 10, 2012 at 11:58:03PM +0800, Hillf Danton wrote:
> From: Hillf Danton <dhillf@xxxxxxxxx>
> [PATCH] mm: vmscan: fix setting reclaim mode
> 
> The comment says, initially assume we are entering either lumpy reclaim or
> reclaim/compaction, and depending on the reclaim order, we will either set the
> sync mode or just reclaim order-0 pages later.
> 
> On other hand, order-0 reclaim, instead of sync reclaim, is expected when
> under memory pressure, but the check for memory pressure is incorrect,
> leading to sync reclaim at low reclaim priorities.
> 
> And the result is sync reclaim is set for high priorities.
> 

RECLAIM_MODE_SYNC is only set for RECLAIM_MODE_LUMPYRECLAIM. Even when
using RECLAIM_MODE_LUMPYRECLAIM, it should only be set when reclaim
is under memory pressure and failing to reclaim the necessry pages
(priority < DEF_PRIORITY - 2). Once in symc reclaim, reclaim will call
wait_on_page_writeback() on dirty pages which potentially leads to
significant stalls (one of the reasons why RECLAIM_MODE_LUMPYRECLAIM
sucks and why compaction is preferred). Your patch means sync reclaim
is used even when priority == DEF_PRIORITY. This is unexpected.

Your changelog really needs to explain what the problem is that you
have encountered and why this patch fixes it. It's not like some of
your other patches which were minor performance optimisations that
were self-evident.

-- 
Mel Gorman
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]