This patchset converts the sunvnet driver to use the NAPI framework. Patch 1 in the series addresses the packet-receive path- all the vnet_event() processing is moved into NAPI context. This patch is dependant on the sparc-next commit: "sparc64: Add vio_set_intr() to enable/disable Rx interrupts" (Please cherry-pick sparc commit id ca605b7dd740c8909408d67911d8ddd272c2b320) Patch 2 uses RCU to fix race conditions between vnet_port_remove and paths that access/modify port-related state, such as vnet_start_xmit. Patch 3 and Patch 4 in the series leverage from the NAPIfied Rx path, dropping superfluous usage of the irqsave/irqrestores on the vio.lock where possible. Note: Patch 3 contains changes that target sparc-next, Patch 4 targets net-next. Sowmini Varadhan (4): NAPIfy sunvnet Use RCU to synchronize port usage with vnet_port_remove() Avoid irqsave/restore on vio.lock if in_softirq() Remove irqsave/irqrestore on vio.lock arch/sparc/kernel/viohs.c | 8 +- drivers/net/ethernet/sun/sunvnet.c | 261 +++++++++++++++++++++++-------------- drivers/net/ethernet/sun/sunvnet.h | 6 +- 3 files changed, 176 insertions(+), 99 deletions(-) -- 1.8.4.2 -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html