Thread (21 messages) 21 messages, 7 authors, 2011-01-24

Re: [patch] mm: fix deferred congestion timeout if preferred zone is not allowed

From: Minchan Kim <hidden>
Date: 2011-01-19 04:10:08

On Wed, Jan 19, 2011 at 10:53 AM, David Rientjes [off-list ref] wrote:
On Wed, 19 Jan 2011, Minchan Kim wrote:
quoted
quoted
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -2034,6 +2034,18 @@ restart:
        */
       alloc_flags = gfp_to_alloc_flags(gfp_mask);

+       /*
+        * If preferred_zone cannot be allocated from in this context, find the
+        * first allowable zone instead.
+        */
+       if ((alloc_flags & ALLOC_CPUSET) &&
+           !cpuset_zone_allowed_softwall(preferred_zone, gfp_mask)) {
+               first_zones_zonelist(zonelist, high_zoneidx,
+                               &cpuset_current_mems_allowed, &preferred_zone);
This patch is one we need. but I have a nitpick.
I am not familiar with CPUSET so I might be wrong.

I think it could make side effect of statistics of ZVM on
buffered_rmqueue since you intercept and change preferred_zone.
It could make NUMA_HIT instead of NUMA_MISS.
Is it your intention?
It depends on the semantics of NUMA_MISS: if no local nodes are allowed by
current's cpuset (a pretty poor cpuset config :), then it seems logical
that all allocations would be a miss.
It does make sense to me but I delegate the decision to Christoph who is author.
And please write down this behavior change into changelog. :)
Thanks David.



-- 
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 policy in Canada: sign http://dissolvethecrtc.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