sunvnet: NAPIfy sunvnet
Subsystems (2)
v6 cover sunvnet: NAPIfy sunvnet
This patchset converts the sunvnet driver to use the NAPI framework. Changes since v4 to Patch1:
vnet_event accumulates LDC_EVENT_* bits into rx_event. vnet_event_napi() unrolls send_events() logic to process all rx_event bits.
Changes since v5:
Patch 1: use net_device.h definition for NAPI_POLL_WEIGHT.
Drop sparclinux changes (patch3) per David Miller feedback
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" (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 leverages from the NAPIfied Rx path,
dropping superfluous usage of the irqsave/irqrestores on the vio.lock where possible.
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 | 263 +++++++++++++++++++++++-------------- drivers/net/ethernet/sun/sunvnet.h | 6 +- 3 files changed, 177 insertions(+), 100 deletions(-)
Signature · 1 line
1.8.4.2
David Miller
maintainerFrom: Sowmini Varadhan <[email protected]>
Date: Sat, 25 Oct 2014 15:11:52 -0400
Quoted 14 lines
This patchset converts the sunvnet driver to use the NAPI framework. Changes since v4 to Patch1:
vnet_eventaccumulates LDC_EVENT_* bits intorx_event.vnet_event_napi()unrollssend_events()logic to process allrx_eventbits.
Changes since v5:
Patch 1: usenet_device.hdefinition forNAPI_POLL_WEIGHT.
Drop sparclinux changes (patch3) per David Miller feedbackPatch 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: Addvio_set_intr()to enable/disable Rx interrupts" (sparc commit idca605b7dd740c8909408d67911d8ddd272c2b320)
Quoted 6 lines
Patch 2 uses RCU to fix race conditions between
vnet_port_removeand paths that access/modify port-related state, such asvnet_start_xmit.Patch 3 leverages from the NAPIfied Rx path,
dropping superfluous usage of the irqsave/irqrestores on the vio.lock where possible.
Series applied, thanks.