(2011/07/12 18:27), Minchan Kim wrote: > Hi Mel, > > On Mon, Jul 11, 2011 at 10:01 PM, Mel Gorman <mgorman@xxxxxxx> wrote: >> Zone reclaim is similar to direct reclaim in a number of respects. >> PF_SWAPWRITE is used by kswapd to avoid a write-congestion check >> but it's set also set for zone_reclaim which is inappropriate. >> Setting it potentially allows zone_reclaim users to cause large IO >> stalls which is worse than remote memory accesses. > > As I read zone_reclaim_mode in vm.txt, I think it's intentional. > It has meaning of throttle the process which are writing large amounts > of data. The point is to prevent use of remote node's free memory. > > And we has still the comment. If you're right, you should remove comment. > " * and we also need to be able to write out pages for RECLAIM_WRITE > * and RECLAIM_SWAP." > > > And at least, we should Cc Christoph and KOSAKI. Of course, I'll take full ack this. Do you remember I posted the same patch about one year ago. At that time, Mel disagreed me and I'm glad to see he changed the mind. :) > >> >> Signed-off-by: Mel Gorman <mgorman@xxxxxxx> >> --- >> mm/vmscan.c | 4 ++-- >> 1 files changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/mm/vmscan.c b/mm/vmscan.c >> index 4f49535..ebef213 100644 >> --- a/mm/vmscan.c >> +++ b/mm/vmscan.c >> @@ -3063,7 +3063,7 @@ static int __zone_reclaim(struct zone *zone, gfp_t gfp_mask, unsigned int order) >> * and we also need to be able to write out pages for RECLAIM_WRITE >> * and RECLAIM_SWAP. >> */ >> - p->flags |= PF_MEMALLOC | PF_SWAPWRITE; >> + p->flags |= PF_MEMALLOC; >> lockdep_set_current_reclaim_state(gfp_mask); >> reclaim_state.reclaimed_slab = 0; >> p->reclaim_state = &reclaim_state; >> @@ -3116,7 +3116,7 @@ static int __zone_reclaim(struct zone *zone, gfp_t gfp_mask, unsigned int order) >> } >> >> p->reclaim_state = NULL; >> - current->flags &= ~(PF_MEMALLOC | PF_SWAPWRITE); >> + current->flags &= ~PF_MEMALLOC; >> lockdep_clear_current_reclaim_state(); >> return sc.nr_reclaimed >= nr_pages; >> } >> -- >> 1.7.3.4 >> >> -- >> 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> >> > > > -- 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>