* [RFC Patch V1 21/30] mm, irqchip: Use cpu_to_mem()/numa_mem_id() to support memoryless node [not found] <1405064267-11678-1-git-send-email-jiang.liu@linux.intel.com> @ 2014-07-11 7:37 ` Jiang Liu 2014-07-18 12:40 ` Jason Cooper 0 siblings, 1 reply; 3+ messages in thread From: Jiang Liu @ 2014-07-11 7:37 UTC (permalink / raw) To: linux-arm-kernel When CONFIG_HAVE_MEMORYLESS_NODES is enabled, cpu_to_node()/numa_node_id() may return a node without memory, and later cause system failure/panic when calling kmalloc_node() and friends with returned node id. So use cpu_to_mem()/numa_mem_id() instead to get the nearest node with memory for the/current cpu. If CONFIG_HAVE_MEMORYLESS_NODES is disabled, cpu_to_mem()/numa_mem_id() is the same as cpu_to_node()/numa_node_id(). Signed-off-by: Jiang Liu <jiang.liu@linux•intel.com> --- drivers/irqchip/irq-clps711x.c | 2 +- drivers/irqchip/irq-gic.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/irqchip/irq-clps711x.c b/drivers/irqchip/irq-clps711x.c index 33340dc97d1d..b0acf8b32a1a 100644 --- a/drivers/irqchip/irq-clps711x.c +++ b/drivers/irqchip/irq-clps711x.c @@ -186,7 +186,7 @@ static int __init _clps711x_intc_init(struct device_node *np, writel_relaxed(0, clps711x_intc->intmr[1]); writel_relaxed(0, clps711x_intc->intmr[2]); - err = irq_alloc_descs(-1, 0, ARRAY_SIZE(clps711x_irqs), numa_node_id()); + err = irq_alloc_descs(-1, 0, ARRAY_SIZE(clps711x_irqs), numa_mem_id()); if (IS_ERR_VALUE(err)) goto out_iounmap; diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index 7e11c9d6ae8c..a7e6c043d823 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c @@ -1005,7 +1005,7 @@ void __init gic_init_bases(unsigned int gic_nr, int irq_start, if (of_property_read_u32(node, "arm,routable-irqs", &nr_routable_irqs)) { irq_base = irq_alloc_descs(irq_start, 16, gic_irqs, - numa_node_id()); + numa_mem_id()); if (IS_ERR_VALUE(irq_base)) { WARN(1, "Cannot allocate irq_descs @ IRQ%d, assuming pre-allocated\n", irq_start); -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [RFC Patch V1 21/30] mm, irqchip: Use cpu_to_mem()/numa_mem_id() to support memoryless node 2014-07-11 7:37 ` [RFC Patch V1 21/30] mm, irqchip: Use cpu_to_mem()/numa_mem_id() to support memoryless node Jiang Liu @ 2014-07-18 12:40 ` Jason Cooper 2014-07-23 3:47 ` Jiang Liu 0 siblings, 1 reply; 3+ messages in thread From: Jason Cooper @ 2014-07-18 12:40 UTC (permalink / raw) To: linux-arm-kernel On Fri, Jul 11, 2014 at 03:37:38PM +0800, Jiang Liu wrote: > When CONFIG_HAVE_MEMORYLESS_NODES is enabled, cpu_to_node()/numa_node_id() > may return a node without memory, and later cause system failure/panic > when calling kmalloc_node() and friends with returned node id. > So use cpu_to_mem()/numa_mem_id() instead to get the nearest node with > memory for the/current cpu. > > If CONFIG_HAVE_MEMORYLESS_NODES is disabled, cpu_to_mem()/numa_mem_id() > is the same as cpu_to_node()/numa_node_id(). > > Signed-off-by: Jiang Liu <jiang.liu@linux•intel.com> > --- > drivers/irqchip/irq-clps711x.c | 2 +- > drivers/irqchip/irq-gic.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) Do you have anything depending on this? Can apply it to irqchip? If you need to keep it with other changes, Acked-by: Jason Cooper <jason@lakedaemon•net> But please do let me know if I can take it. thx, Jason. ^ permalink raw reply [flat|nested] 3+ messages in thread
* [RFC Patch V1 21/30] mm, irqchip: Use cpu_to_mem()/numa_mem_id() to support memoryless node 2014-07-18 12:40 ` Jason Cooper @ 2014-07-23 3:47 ` Jiang Liu 0 siblings, 0 replies; 3+ messages in thread From: Jiang Liu @ 2014-07-23 3:47 UTC (permalink / raw) To: linux-arm-kernel Hi Jason, Thanks for your review. According to review comments, we need to rework the patch set in another direction and will give up this patch. Regards! Gerry On 2014/7/18 20:40, Jason Cooper wrote: > On Fri, Jul 11, 2014 at 03:37:38PM +0800, Jiang Liu wrote: >> When CONFIG_HAVE_MEMORYLESS_NODES is enabled, cpu_to_node()/numa_node_id() >> may return a node without memory, and later cause system failure/panic >> when calling kmalloc_node() and friends with returned node id. >> So use cpu_to_mem()/numa_mem_id() instead to get the nearest node with >> memory for the/current cpu. >> >> If CONFIG_HAVE_MEMORYLESS_NODES is disabled, cpu_to_mem()/numa_mem_id() >> is the same as cpu_to_node()/numa_node_id(). >> >> Signed-off-by: Jiang Liu <jiang.liu@linux•intel.com> >> --- >> drivers/irqchip/irq-clps711x.c | 2 +- >> drivers/irqchip/irq-gic.c | 2 +- >> 2 files changed, 2 insertions(+), 2 deletions(-) > > Do you have anything depending on this? Can apply it to irqchip? If > you need to keep it with other changes, > > Acked-by: Jason Cooper <jason@lakedaemon•net> > > But please do let me know if I can take it. > > thx, > > Jason. > ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-07-23 3:47 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1405064267-11678-1-git-send-email-jiang.liu@linux.intel.com>
2014-07-11 7:37 ` [RFC Patch V1 21/30] mm, irqchip: Use cpu_to_mem()/numa_mem_id() to support memoryless node Jiang Liu
2014-07-18 12:40 ` Jason Cooper
2014-07-23 3:47 ` Jiang Liu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox