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

Evgeniy Polyakov
2006-08-16T09:32:51Z

On Wed, Aug 16, 2006 at 10:10:29AM +0100, Christoph Hellwig (hch@infradead.org) wrote:
> On Wed, Aug 16, 2006 at 02:05:03AM -0700, David Miller wrote:
> > From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
> > 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.

Can we check device->bus_type or device->driver->bus against
&pci_bus_type for that?

--
Evgeniy Polyakov