Skip to content

sunvnet: NAPIfy sunvnet

Sowmini Varadhan netdev 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v6 Latest3 patches 1 replyIn review
  2. v4 posting 2/24 patches 5 repliesSuperseded
  3. v4 RFC posting 1/24 patches 1 replySuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v3 RFC4 patches5 repliesSuperseded

Changes in v6 from the cover letter

Patch 1: use net_device.h definition for NAPI_POLL_WEIGHT.
Drop sparclinux changes (patch3) per David Miller feedback

Patches in v6 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3sunvnet: NAPIfy sunvnetdrivers/net/ethernet/sun/sunvnet.c drivers/net/ethernet/sun/sunvnet.h+135 -440 replies
2/3sunvnet: Use RCU to synchronize port usage with vnet_port_remove()drivers/net/ethernet/sun/sunvnet.c+33 -290 replies
3/3sunvnet: Remove irqsave/irqrestore on vio.lockdrivers/net/ethernet/sun/sunvnet.c+5 -250 replies

Reviews trailers per patch

2 of 3 patches have a Reviewed-by or Acked-by.

PatchRaghuram KothakotaDwight EngenBob Picco
1/3A-b A-b
2/3A-b A-b
3/3

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v6 thread

Cover letter [PATCHv6 net-next 0/3] 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