Sowmini Varadhan
2014-10-21 14:16:12 UTC
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 commit:
"sparc64: Add vio_set_intr() to enable/disable Rx interrupts"
(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 | 258 +++++++++++++++++++++++--------------
drivers/net/ethernet/sun/sunvnet.h | 6 +-
3 files changed, 173 insertions(+), 99 deletions(-)
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 commit:
"sparc64: Add vio_set_intr() to enable/disable Rx interrupts"
(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 | 258 +++++++++++++++++++++++--------------
drivers/net/ethernet/sun/sunvnet.h | 6 +-
3 files changed, 173 insertions(+), 99 deletions(-)
--
1.8.4.2
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
1.8.4.2
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html