Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1243046
| From | Jiang Liu <jiang.liu@linux.intel.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [Intel-wired-lan] [Patch V3 5/9] i40e: Use numa_mem_id() to better support memoryless node |
| Date | 2015-10-09 08:00 +0200 |
| Message-ID | <qhySK-1As-7@gated-at.bofh.it> (permalink) |
| References | <pYj7P-3i1-3@gated-at.bofh.it> <pYj7Q-3i1-21@gated-at.bofh.it> <pZkbv-2Gm-5@gated-at.bofh.it> <pZlKi-503-11@gated-at.bofh.it> <qhpZ7-5Jz-5@gated-at.bofh.it> |
| Organization | Intel |
On 2015/10/9 4:20, Andrew Morton wrote: > On Wed, 19 Aug 2015 17:18:15 -0700 (PDT) David Rientjes <rientjes@google.com> wrote: > >> On Wed, 19 Aug 2015, Patil, Kiran wrote: >> >>> Acked-by: Kiran Patil <kiran.patil@intel.com> >> >> Where's the call to preempt_disable() to prevent kernels with preemption >> from making numa_node_id() invalid during this iteration? > > David asked this question twice, received no answer and now the patch > is in the maintainer tree, destined for mainline. > > If I was asked this question I would respond > > The use of numa_mem_id() is racy and best-effort. If the unlikely > race occurs, the memory allocation will occur on the wrong node, the > overall result being very slightly suboptimal performance. The > existing use of numa_node_id() suffers from the same issue. > > But I'm not the person proposing the patch. Please don't just ignore > reviewer comments! Hi Andrew, Apologize for the slow response due to personal reasons! And thanks for answering the question from David. To be honest, I didn't know how to answer this question before. Actually this question has puzzled me for a long time when dealing with memory hot-removal. For normal cases, it only causes sub-optimal memory allocation if schedule event happens between querying NUMA node id and calling alloc_pages_node(). But what happens if system run into following execution sequence? 1) node = numa_mem_id(); 2) memory hot-removal event triggers 2.1) remove affected memory 2.2) reset pgdat to zero if node becomes empty after memory removal 3) alloc_pages_node(), which may access zero-ed pgdat structure. I haven't found a mechanism to protect system from above sequence yet, so puzzled for a long time already:(. Does stop_machine() protect system from such a execution sequence? 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/ > -- 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 linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [Intel-wired-lan] [Patch V3 5/9] i40e: Use numa_mem_id() to better support memoryless node Andrew Morton <akpm@linux-foundation.org> - 2015-10-08 22:30 +0200
Re: [Intel-wired-lan] [Patch V3 5/9] i40e: Use numa_mem_id() to better support memoryless node Jiang Liu <jiang.liu@linux.intel.com> - 2015-10-09 08:00 +0200
Re: [Intel-wired-lan] [Patch V3 5/9] i40e: Use numa_mem_id() to better support memoryless node Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> - 2015-10-09 11:10 +0200
Re: [Intel-wired-lan] [Patch V3 5/9] i40e: Use numa_mem_id() to better support memoryless node Jiang Liu <jiang.liu@linux.intel.com> - 2015-10-09 11:30 +0200
csiph-web