Re: [RFC 2/6] mm, mempolicy: stop adjusting current->il_next in mpol_rebind_nodemask()

2017-04-12 Thread Vlastimil Babka
On 12.4.2017 23:16, Christoph Lameter wrote: > On Wed, 12 Apr 2017, Vlastimil Babka wrote: > Well, interleave_nodes() will then potentially return a node outside of the allowed memory policy when its called for the first time after mpol_rebind_.. . But thenn it will find the next no

Re: [RFC 2/6] mm, mempolicy: stop adjusting current->il_next in mpol_rebind_nodemask()

2017-04-12 Thread Christoph Lameter
On Wed, 12 Apr 2017, Vlastimil Babka wrote: > >> Well, interleave_nodes() will then potentially return a node outside of > >> the allowed memory policy when its called for the first time after > >> mpol_rebind_.. . But thenn it will find the next node within the > >> nodemask and work correctly fo

Re: [RFC 2/6] mm, mempolicy: stop adjusting current->il_next in mpol_rebind_nodemask()

2017-04-12 Thread Vlastimil Babka
On 04/11/2017 09:03 PM, Vlastimil Babka wrote: > On 11.4.2017 19:32, Christoph Lameter wrote: >> On Tue, 11 Apr 2017, Vlastimil Babka wrote: >> >>> The task->il_next variable remembers the last allocation node for task's >>> MPOL_INTERLEAVE policy. mpol_rebind_nodemask() updates interleave and >>>

Re: [RFC 2/6] mm, mempolicy: stop adjusting current->il_next in mpol_rebind_nodemask()

2017-04-11 Thread Vlastimil Babka
On 11.4.2017 19:32, Christoph Lameter wrote: > On Tue, 11 Apr 2017, Vlastimil Babka wrote: > >> 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. Current

Re: [RFC 2/6] mm, mempolicy: stop adjusting current->il_next in mpol_rebind_nodemask()

2017-04-11 Thread Christoph Lameter
On Tue, 11 Apr 2017, Vlastimil Babka wrote: > 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_nex

[RFC 2/6] mm, mempolicy: stop adjusting current->il_next in mpol_rebind_nodemask()

2017-04-11 Thread Vlastimil Babka
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