From: Vlastimil Babka <vbabka@suse.cz>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, cgroups@vger.kernel.org,
Li Zefan <lizefan@huawei.com>, Michal Hocko <mhocko@kernel.org>,
Mel Gorman <mgorman@techsingularity.net>,
David Rientjes <rientjes@google.com>,
Christoph Lameter <cl@linux.com>, Hugh Dickins <hughd@google.com>,
Andrea Arcangeli <aarcange@redhat.com>,
Anshuman Khandual <khandual@linux.vnet.ibm.com>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Vlastimil Babka <vbabka@suse.cz>
Subject: [RFC 2/6] mm, mempolicy: stop adjusting current->il_next in mpol_rebind_nodemask()
Date: Tue, 11 Apr 2017 16:06:05 +0200 [thread overview]
Message-ID: <20170411140609.3787-3-vbabka@suse.cz> (raw)
In-Reply-To: <20170411140609.3787-1-vbabka@suse.cz>
The task->il_next variable remembers the last allocation node for task's
MPOL_INTERLEAVE policy. mpol_rebind_nodemask() updates interleave and
bind mempolicies due to changing cpuset mems. Currently it also tries to
make sure that current->il_next is valid within the updated nodemask. This is
bogus, because 1) we are updating potentially any task's mempolicy, not just
current, and 2) we might be updating per-vma mempolicy, not task one.
The interleave_nodes() function that uses il_next can cope fine with the value
not being within the currently allowed nodes, so this hasn't manifested as an
actual issue. Thus it also won't be an issue if we just remove this adjustment
completely.
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
---
mm/mempolicy.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 37d0b334bfe9..efeec8d2bce5 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -349,12 +349,6 @@ static void mpol_rebind_nodemask(struct mempolicy *pol, const nodemask_t *nodes,
pol->v.nodes = tmp;
else
BUG();
-
- if (!node_isset(current->il_next, tmp)) {
- current->il_next = next_node_in(current->il_next, tmp);
- if (current->il_next >= MAX_NUMNODES)
- current->il_next = numa_node_id();
- }
}
static void mpol_rebind_preferred(struct mempolicy *pol,
--
2.12.2
--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2017-04-11 14:06 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-11 14:06 [RFC 0/6] cpuset/mempolicies related fixes and cleanups Vlastimil Babka
2017-04-11 14:06 ` [RFC 1/6] mm, page_alloc: fix more premature OOM due to race with cpuset update Vlastimil Babka
2017-04-11 17:24 ` Christoph Lameter
2017-04-11 19:00 ` Vlastimil Babka
2017-04-12 21:25 ` Christoph Lameter
2017-04-13 6:24 ` Vlastimil Babka
2017-04-14 20:37 ` Christoph Lameter
2017-04-26 8:07 ` Vlastimil Babka
2017-04-30 21:33 ` Christoph Lameter
2017-05-17 9:20 ` Michal Hocko
2017-05-17 13:56 ` Christoph Lameter
2017-05-17 14:05 ` Michal Hocko
2017-05-17 14:48 ` Christoph Lameter
2017-05-17 14:56 ` Michal Hocko
2017-05-17 15:25 ` Christoph Lameter
2017-05-18 9:08 ` Michal Hocko
2017-05-18 16:57 ` Christoph Lameter
2017-05-18 17:24 ` Michal Hocko
2017-05-18 19:07 ` Christoph Lameter
2017-05-19 7:37 ` Michal Hocko
2017-05-17 15:27 ` Christoph Lameter
2017-05-18 10:03 ` Vlastimil Babka
2017-05-18 17:07 ` Christoph Lameter
2017-05-19 11:27 ` Vlastimil Babka
2017-04-13 5:42 ` Anshuman Khandual
2017-04-13 6:06 ` Vlastimil Babka
2017-04-13 6:07 ` Vlastimil Babka
2017-04-11 14:06 ` Vlastimil Babka [this message]
2017-04-11 17:32 ` [RFC 2/6] mm, mempolicy: stop adjusting current->il_next in mpol_rebind_nodemask() Christoph Lameter
2017-04-11 19:03 ` Vlastimil Babka
2017-04-12 8:49 ` Vlastimil Babka
2017-04-12 21:16 ` Christoph Lameter
2017-04-12 21:18 ` Vlastimil Babka
2017-04-11 14:06 ` [RFC 3/6] mm, page_alloc: pass preferred nid instead of zonelist to allocator Vlastimil Babka
2017-04-11 14:06 ` [RFC 4/6] mm, mempolicy: simplify rebinding mempolicies when updating cpusets Vlastimil Babka
2017-04-11 14:06 ` [RFC 5/6] mm, cpuset: always use seqlock when changing task's nodemask Vlastimil Babka
2017-04-12 8:10 ` Hillf Danton
2017-04-12 8:18 ` Vlastimil Babka
2017-04-11 14:06 ` [RFC 6/6] mm, mempolicy: don't check cpuset seqlock where it doesn't matter Vlastimil Babka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170411140609.3787-3-vbabka@suse.cz \
--to=vbabka@suse.cz \
--cc=aarcange@redhat.com \
--cc=cgroups@vger.kernel.org \
--cc=cl@linux.com \
--cc=hughd@google.com \
--cc=khandual@linux.vnet.ibm.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lizefan@huawei.com \
--cc=mgorman@techsingularity.net \
--cc=mhocko@kernel.org \
--cc=rientjes@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox