Messages in this thread | | | Date | Tue, 13 Sep 2005 09:46:12 -0700 | From | Stephen Hemminger <> | Subject | Re: [patch 7/11] net: Use bigrefs for net_device.refcount |
| |
On Tue, 13 Sep 2005 09:35:14 -0700 Ben Greear <greearb@candelatech.com> wrote:
> Stephen Hemminger wrote: > > On Tue, 13 Sep 2005 09:10:12 -0700 > > Ravikiran G Thirumalai <kiran@scalex86.org> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |