[CFT] 2.6.x experimental net driver updates

4 messages, 2 authors, 2003-11-20 · open the first message on its own page

[CFT] 2.6.x experimental net driver updates

From: Jeff Garzik <hidden>
Date: 2003-11-19 17:34:33

Ok, Al Viro's net driver refcounting work is pretty much complete, and shemminger/ogawa NAPI conversation of 8139too is also merged.

Please beat this up as much as possible.  Don't let the "experimental" tag fool you...  these changes should be solid, and will be going to Andrew/Linus when the 2.6.0 tree re-opens.

Don't forget to CC netdev@oss.sgi.com on all feedback.

Thanks!

	Jeff

Re: [CFT] 2.6.x experimental net driver updates

From: <hidden>
Date: 2003-11-20 02:54:26

On Wed, Nov 19, 2003 at 12:33:08PM -0500, Jeff Garzik wrote:
Ok, Al Viro's net driver refcounting work is pretty much complete, and 
The hell it is.  We are through with legacy probes, we are through with
init_etherdev(), we are practically through with static struct net_device.

However, we still have weird allocators (I've got almost all of them
done by now, will submit in the next batch) and we still have struct
net_device embedded as a field of other structures in several drivers.

It's nowhere near as massive as legacy probes series, but it's going to
be 10--20 patches.  At least.

Re: [CFT] 2.6.x experimental net driver updates

From: Jeff Garzik <hidden>
Date: 2003-11-20 05:24:17

viro@parcelfarce.linux.theplanet.co.uk wrote:
On Wed, Nov 19, 2003 at 12:33:08PM -0500, Jeff Garzik wrote:
quoted
Ok, Al Viro's net driver refcounting work is pretty much complete, and

The hell it is.  We are through with legacy probes, we are through with
init_etherdev(), we are practically through with static struct net_device.
hehe :)  I don't mean to suggest that all is clean and pure :)

However, we still have weird allocators (I've got almost all of them
done by now, will submit in the next batch) and we still have struct
net_device embedded as a field of other structures in several drivers.
Some of that will be interesting.  ns83820 for example embedded net_device on purpose...  Ben seemed to think at the time it gave him some speed, a few less pointer derefs and such.

	Jeff

Re: [CFT] 2.6.x experimental net driver updates

From: <hidden>
Date: 2003-11-20 05:47:31

On Thu, Nov 20, 2003 at 12:23:44AM -0500, Jeff Garzik wrote:
viro@parcelfarce.linux.theplanet.co.uk wrote:
quoted
On Wed, Nov 19, 2003 at 12:33:08PM -0500, Jeff Garzik wrote:
quoted
Ok, Al Viro's net driver refcounting work is pretty much complete, and 

The hell it is.  We are through with legacy probes, we are through with
init_etherdev(), we are practically through with static struct net_device.
hehe :)  I don't mean to suggest that all is clean and pure :)

quoted
However, we still have weird allocators (I've got almost all of them
done by now, will submit in the next batch) and we still have struct
net_device embedded as a field of other structures in several drivers.
Some of that will be interesting.  ns83820 for example embedded 
net_device on purpose...  Ben seemed to think at the time it gave him 
some speed, a few less pointer derefs and such.
That's fine, but 83820 should be doing that the other way round.

Note that for objects allocated by alloc_netdev() we have
	(char*) dev->priv == (char *)dev + const
and constant can be found at compile time _if_ we pad in front of
net_device and add a pointer to allocated block into net_device.

So we can have exactly the same structure (modulo padding) and no extra
dereferencing.  All we need is inlined void *net_priv(struct net_device *);

That, BTW, would be a win for other drivers using alloc_...() and not
reassigning ->priv (i.e. majority of those beasts).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help