Subject: Re: [PATCH 1/1] network memory allocator.

From: Christoph Hellwig <[email-masked]>
Date: Wed, 16 Aug 2006 10:10:29 +0100

On Wed, Aug 16, 2006 at 02:05:03AM -0700, David Miller wrote:
> From: Evgeniy Polyakov <[email-masked]>
> Date: Wed, 16 Aug 2006 13:00:31 +0400
> 
> > So I would like to know how to determine which node should be used for
> > allocation. Changes of __get_user_pages() to alloc_pages_node() are
> > trivial.
> 
> netdev_alloc_skb() knows the netdevice, and therefore you can
> obtain the "struct device;" referenced inside of the netdev,
> and therefore you can determine the node using the struct
> device.

It's not that easy unfortunately.  I did what you describe above in my
first prototype but then found out the hard way that the struct device
in the netdevice can be a non-pci one, e.g. for pcmcia.  Im that case
the kernel will crash on you becuase you can only get the node infortmation
for pci devices.  My current patchkit adds an "int node" member to struct
net_device instead.  I can repost the patchkit ontop of -mm (which is
the required slab memory leak tracking changes) if anyone cares.