Re: [PATCH] mm: fix dma_poor_create

From: Yinghai Lu
Date: Wed Feb 20 2008 - 02:52:27 EST


On Tuesday 19 February 2008 10:52:30 pm Ingo Molnar wrote:
>
> * Yinghai Lu <Yinghai.Lu@xxxxxxx> wrote:
>
> > dev_to_node could return node that without RAM. So check it before use
> > it in kmalloc_node
>
> > - retval = kmalloc_node(sizeof(*retval), GFP_KERNEL, dev_to_node(dev));
> > + node = dev_to_node(dev);
> > + if (node == -1 || !node_online(node))
> > + node = numa_node_id();
> > +
> > + retval = kmalloc_node(sizeof(*retval), GFP_KERNEL, node);
>
> so this is about not crashing during bootup on nodes that have CPUs but
> which have no node-specific memory attached, right?
>
> Shouldnt kmalloc_node() be made more robust instead? I.e. push the same
> code into kmalloc_node() - and make sure it will allocate _something_?
> That would probably also fix a similar bug in net/core/skbuff.c's
> __netdev_alloc_skb(), which too passes a dev_to_node() result to an
> allocator.

sound good idea to update the dev_to_node to make sure it will return -1 or the one is online.

Will send updated one.

YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/