Re: [patch 7/11] net: Use bigrefs for net_device.refcount

From: Stephen Hemminger
Date: Tue Sep 13 2005 - 11:46:31 EST


On Tue, 13 Sep 2005 09:35:14 -0700
Ben Greear <greearb@xxxxxxxxxxxxxxx> wrote:

> Stephen Hemminger wrote:
> > On Tue, 13 Sep 2005 09:10:12 -0700
> > Ravikiran G Thirumalai <kiran@xxxxxxxxxxxx> wrote:
> >
> >
> >>The net_device has a refcnt used to keep track of it's uses.
> >>This is used at the time of unregistering the network device
> >>(module unloading ..) (see netdev_wait_allrefs) .
> >>For loopback_dev , this refcnt increment/decrement is causing
> >>unnecessary traffic on the interlink for NUMA system
> >>affecting it's performance. This patch improves tbench numbers by 6% on a
> >>8way x86 Xeon (x445).
> >>
> >
> >
> > Since when is bringing a network device up/down performance critical?
>
> We grab and drop a reference for each poll of a device, roughly.
>
> See dev_hold in _netif_rx_schedule(struct net_device *dev)
> in include/netdevice.h, for instance.

Yeah, that would be an issue, especially since the rest of that
path is nicely per-cpu
-
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/