From: Greg Kroah-Hartman Date: Tue, 17 Jan 2017 16:34:10 +0000 (+0100) Subject: remove queue-4.9/mm-fix-remote-numa-hits-statistics.patch X-Git-Tag: v4.9.5~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e427cd710b3e6f5128df4583292d22a3528f9139;p=thirdparty%2Fkernel%2Fstable-queue.git remove queue-4.9/mm-fix-remote-numa-hits-statistics.patch --- diff --git a/queue-4.9/mm-fix-remote-numa-hits-statistics.patch b/queue-4.9/mm-fix-remote-numa-hits-statistics.patch deleted file mode 100644 index 36360317f22..00000000000 --- a/queue-4.9/mm-fix-remote-numa-hits-statistics.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 2df26639e708a88dcc22171949da638a9998f3bc Mon Sep 17 00:00:00 2001 -From: Michal Hocko -Date: Tue, 10 Jan 2017 16:57:39 -0800 -Subject: mm: fix remote numa hits statistics - -From: Michal Hocko - -commit 2df26639e708a88dcc22171949da638a9998f3bc upstream. - -Jia He has noticed that commit b9f00e147f27 ("mm, page_alloc: reduce -branches in zone_statistics") has an unintentional side effect that -remote node allocation requests are accounted as NUMA_MISS rathat than -NUMA_HIT and NUMA_OTHER if such a request doesn't use __GFP_OTHER_NODE. - -There are many of these potentially because the flag is used very rarely -while we have many users of __alloc_pages_node. - -Fix this by simply ignoring __GFP_OTHER_NODE (it can be removed in a -follow up patch) and treat all allocations that were satisfied from the -preferred zone's node as NUMA_HITS because this is the same node we -requested the allocation from in most cases. If this is not the local -node then we just account it as NUMA_OTHER rather than NUMA_LOCAL. - -One downsize would be that an allocation request for a node which is -outside of the mempolicy nodemask would be reported as a hit which is a -bit weird but that was the case before b9f00e147f27 already. - -Fixes: b9f00e147f27 ("mm, page_alloc: reduce branches in zone_statistics") -Link: http://lkml.kernel.org/r/20170102153057.9451-2-mhocko@kernel.org -Signed-off-by: Michal Hocko -Reported-by: Jia He -Reviewed-by: Vlastimil Babka # with cbmc[1] superpowers -Acked-by: Mel Gorman -Cc: Johannes Weiner -Cc: Joonsoo Kim -Cc: Taku Izumi -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds -Signed-off-by: Greg Kroah-Hartman - ---- - mm/page_alloc.c | 15 ++++----------- - 1 file changed, 4 insertions(+), 11 deletions(-) - ---- a/mm/page_alloc.c -+++ b/mm/page_alloc.c -@@ -2556,30 +2556,23 @@ int __isolate_free_page(struct page *pag - * Update NUMA hit/miss statistics - * - * Must be called with interrupts disabled. -- * -- * When __GFP_OTHER_NODE is set assume the node of the preferred -- * zone is the local node. This is useful for daemons who allocate -- * memory on behalf of other processes. - */ - static inline void zone_statistics(struct zone *preferred_zone, struct zone *z, - gfp_t flags) - { - #ifdef CONFIG_NUMA -- int local_nid = numa_node_id(); - enum zone_stat_item local_stat = NUMA_LOCAL; - -- if (unlikely(flags & __GFP_OTHER_NODE)) { -+ if (z->node != numa_node_id()) - local_stat = NUMA_OTHER; -- local_nid = preferred_zone->node; -- } - -- if (z->node == local_nid) { -+ if (z->node == preferred_zone->node) - __inc_zone_state(z, NUMA_HIT); -- __inc_zone_state(z, local_stat); -- } else { -+ else { - __inc_zone_state(z, NUMA_MISS); - __inc_zone_state(preferred_zone, NUMA_FOREIGN); - } -+ __inc_zone_state(z, local_stat); - #endif - } - diff --git a/queue-4.9/series b/queue-4.9/series index 2be7936f342..03f5f9da616 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -83,7 +83,6 @@ x86-cpu-fix-bootup-crashes-by-sanitizing-the-argument-of-the-clearcpuid-command- nvme-apply-delay_before_chk_rdy-quirk-at-probe-time-too.patch btrfs-fix-locking-when-we-put-back-a-delayed-ref-that-s-too-new.patch btrfs-fix-error-handling-when-run_delayed_extent_op-fails.patch -mm-fix-remote-numa-hits-statistics.patch pinctrl-meson-fix-gpio-request-disabling-other-modes.patch nfs-fix-typo-in-parameter-description.patch pnfs-fix-race-in-pnfs_wait_on_layoutreturn.patch