Thread (21 messages) read the whole thread 21 messages, 4 authors, 2011-07-21

Re: [PATCH 1/3] mm: vmscan: Do use use PF_SWAPWRITE from zone_reclaim

From: Minchan Kim <hidden>
Date: 2011-07-12 09:27:15
Also in: lkml

Hi Mel,

On Mon, Jul 11, 2011 at 10:01 PM, Mel Gorman [off-list ref] 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.
quoted hunk ↗ jump to hunk
Signed-off-by: Mel Gorman <mgorman@suse.de>
---
 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@kvack.org.  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@kvack.org"> email@kvack.org </a>


-- 
Kind regards,
Minchan Kim

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  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@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help