Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1243038 > unrolled thread
| Started by | Jiang Liu <jiang.liu@linux.intel.com> |
|---|---|
| First post | 2015-10-09 07:10 +0200 |
| Last post | 2015-10-09 07:10 +0200 |
| Articles | 1 — 1 participant |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [Patch V3 3/9] sgi-xp: Replace cpu_to_node() with cpu_to_mem() to support memoryless node Jiang Liu <jiang.liu@linux.intel.com> - 2015-10-09 07:10 +0200
| From | Jiang Liu <jiang.liu@linux.intel.com> |
|---|---|
| Date | 2015-10-09 07:10 +0200 |
| Subject | Re: [Patch V3 3/9] sgi-xp: Replace cpu_to_node() with cpu_to_mem() to support memoryless node |
| Message-ID | <qhy6l-FU-5@gated-at.bofh.it> |
On 2015/8/20 14:36, Jiang Liu wrote: > On 2015/8/20 8:02, David Rientjes wrote: >> On Wed, 19 Aug 2015, Jiang Liu wrote: >> >>>> Why not simply fix build_zonelists_node() so that the __GFP_THISNODE >>>> zonelists are set up to reference the zones of cpu_to_mem() for memoryless >>>> nodes? >>>> >>>> It seems much better than checking and maintaining every __GFP_THISNODE >>>> user to determine if they are using a memoryless node or not. I don't >>>> feel that this solution is maintainable in the longterm. >>> Hi David, >>> There are some usage cases, such as memory migration, >>> expect the page allocator rejecting memory allocation requests >>> if there is no memory on local node. So we have: >>> 1) alloc_pages_node(cpu_to_node(), __GFP_THISNODE) to only allocate >>> memory from local node. >>> 2) alloc_pages_node(cpu_to_mem(), __GFP_THISNODE) to allocate memory >>> from local node or from nearest node if local node is memoryless. >>> >> >> Right, so do you think it would be better to make the default zonelists be >> setup so that cpu_to_node()->zonelists == cpu_to_mem()->zonelists and then >> individual callers that want to fail for memoryless nodes check >> populated_zone() themselves? > Hi David, > Great idea:) I think that means we are going to kill the > concept of memoryless node, and we only need to specially handle > a few callers who really care about whether there is memory on > local node. > Then I need some time to audit all usages of __GFP_THISNODE > and update you whether it's doable. Hi David, It seems that I'm too optimistic:(. After auditing all usages of __GFP_THISNODE and reading Documentation/vm/numa again, I feel it would be better to keep cpu_to_mem()/numa_mem_id(). It makes things more clear if we follow rules: 1) cpu_to_node()/numa_node_id() for schedule domain 2) cpu_to_mem()/numa_mem_id() for memory management domain 3) alloc_pages_node(cpu_to_node(cpu), __GFP_THIS_NODE) for special usage cases. And it would be easier for maintenance than open-coded checking of populated_zone() by using alloc_pages_node(cpu_to_node(cpu), __GFP_THIS_NODE). Thanks! Gerry -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Back to top | Article view | linux.kernel
csiph-web