Messages in this thread | | | Date | Tue, 20 Feb 2007 23:39:55 -0800 | From | Divy Le Ray <> | Subject | Re: [RFC] split NAPI from network device. |
| |
David Miller wrote: > From: Stephen Hemminger <shemminger@osdl.org> > Date: Wed, 13 Dec 2006 15:46:35 -0800 > > >> Split off NAPI part from network device, this patch is build tested >> only! It breaks kernel API for network devices, and only three examples >> are fixed (skge, sky2, and tg3). >> >> 1. Decomposition allows different NAPI <-> network device >> Some hardware has N devices for one IRQ, others like MSI-X >> want multiple receive's for one device. >> >> 2. Cleanup locking with netpoll >> >> 3. Change poll callback arguements and semantics >> >> 4. Make softnet_data static (only in dev.c) >> >> Old: >> dev->poll(dev, &budget) >> returns 1 or 0 >> requeu if returns 1 >> >> New: >> napi->poll(napi, quota) >> returns # of elements processed >> requeue based on status >> >> Signed-off-by: Stephen Hemminger <shemminger@osdl.org> >> > > I rebuffed this patch against current 2.6.x GIT and fixed all of > the drivers. > > Hi Dave,
I applied the patch to test the chelsio drivers. The compilation of the forcedeth driver fails if CONFIG_FORCEDETH_NAPI is not set. /opt/sources/linux-2.6/drivers/net/forcedeth.c: In function `nv_nic_irq': /opt/sources/linux-2.6/drivers/net/forcedeth.c:2866: error: structure has no member named `weight' /opt/sources/linux-2.6/drivers/net/forcedeth.c: In function `nv_nic_irq_optimized': /opt/sources/linux-2.6/drivers/net/forcedeth.c:2983: error: structure has no member named `weight' /opt/sources/linux-2.6/drivers/net/forcedeth.c: In function `nv_nic_irq_rx': /opt/sources/linux-2.6/drivers/net/forcedeth.c:3177: error: structure has no member named `weight'
The compilation of the cxgb driver also fails if CONFIG_CHELSIO_T1_NAPI is not set, but it has nothing to do with your patch. I'm looking into it.
Cheers, Divy - 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/
| |