Thread (38 messages) 38 messages, 5 authors, 2021-08-02

Re: [PATCH v6 1/6] mm/mempolicy: Add MPOL_PREFERRED_MANY for multiple preferred nodes

From: Feng Tang <hidden>
Date: 2021-07-30 07:18:49
Also in: linux-api, lkml

On Fri, Jul 30, 2021 at 08:36:50AM +0200, Michal Hocko wrote:
On Fri 30-07-21 11:05:02, Feng Tang wrote:
quoted
On Thu, Jul 29, 2021 at 06:21:19PM +0200, Michal Hocko wrote:
quoted
On Thu 29-07-21 23:12:42, Feng Tang wrote:
quoted
On Thu, Jul 29, 2021 at 03:38:44PM +0200, Michal Hocko wrote:
[...]
quoted
quoted
Also the
semantic to give nodes some ordering based on their numbers sounds
rather weird to me.
I agree, and as I admitted in the first reply, this need to be fixed.
OK. I was not really clear that we are on the same page here.
quoted
quoted
The semantic I am proposing is to allocate from prefered nodes in
distance order starting from the local node.
So the plan is:
* if the local node is set in 'prefer-many's nodemask, then chose
* otherwise chose the node with the shortest distance to local node
?
Yes and what I am trying to say is that you will achieve that simply by
doing the following in policy_node:
	if (policy->mode == MPOL_PREFERRED_MANY)
		return nd;
One thing is, it's possible that 'nd' is not set in the preferred
nodemask. 
Yes, and there shouldn't be any problem with that.  The given node is
only used to get the respective zonelist (order distance ordered list of
zones to try). get_page_from_freelist will then use the preferred node
mask to filter this zone list. Is that more clear now?
Yes, from the code, the policy_node() is always coupled with
policy_nodemask(), which secures the 'nodemask' limit. Thanks for
the clarification!

And for the mempolicy_slab_node(), it seems to be a little different,
and we may need to reuse its logic for 'bind' policy, which is similar
to what we've discussed, pick a nearest node to the local node. And
similar for mpol_misplaced(). Thoughts?

Thanks,
Feng
-- 
Michal Hocko
SUSE Labs
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help