Skip to contentSkip to conversation

sunvnet: add jumbo frames support

PATCH In review David L Stevens 2 participants 2 messages Sep 29, 2014 – Sep 30, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

v9 cover sunvnet: add jumbo frames support

This patch set updates the sunvnet driver to version 1.6 of the VIO protocol to support per-port exchange of MTU information and allow non-standard MTU sizes, including jumbo frames.

Using large MTUs shows a nearly 5X throughput improvement Linux-Solaris and > 10X throughput improvement Linux-Linux.

Changes from v8:
-add a short timeout to free pending skbs if a new transmit doesn't
do it first per Dave Miller <[email protected]>
Changes from v7:
-handle skb allocation failures in vnet_skb_shape()
per Dave Miller <[email protected]>
Changes from v6:
-made kernel transmit path zero-copy to remove memory n^2 scaling issue
raised by Raghuram Kothakota <[email protected]>
Changes from v5:
- fixed comment per Sowmini Varadhan <[email protected]>
Changes from v4:
- changed VNET_MAXPACKET per David Laight <[email protected]>
- added cookies to support non-contiguous buffers of max size
Changes from v3:
- added version functions per Dave Miller <[email protected]>
- moved rmtu to vnet_port per Dave Miller <[email protected]>
- explicitly set options bits and capability flags to 0 per Raghuram Kothakota <[email protected]>
Changes from v2:
- make checkpatch clean
Changes from v1:
- fix brace formatting per Dave Miller <[email protected]>

David L Stevens (4):
sunvnet: upgrade to VIO protocol version 1.6
sunvnet: make transmit path zero-copy in the kernel
sunvnet: allow admin to set sunvnet MTU
sunvnet: generate ICMP PTMUD messages for smaller port MTUs

 arch/sparc/include/asm/vio.h       |   44 +++++-
 arch/sparc/kernel/ldc.c            |    2 +-
 arch/sparc/kernel/viohs.c          |   14 ++-
 drivers/net/ethernet/sun/sunvnet.c |  358 ++++++++++++++++++++++++++++++------
 drivers/net/ethernet/sun/sunvnet.h |   16 ++-
 5 files changed, 366 insertions(+), 68 deletions(-)
maintainer
#1 lore raw

From: David L Stevens <[email protected]>
Date: Mon, 29 Sep 2014 19:47:47 -0400

Quoted 6 lines

This patch set updates the sunvnet driver to version 1.6 of the VIO protocol to support per-port exchange of MTU information and allow non-standard MTU sizes, including jumbo frames.

Using large MTUs shows a nearly 5X throughput improvement Linux-Solaris and > 10X throughput improvement Linux-Linux.

Looks great, applied to net-next, and as I mentioned I'll push the arch/sparc bits from patch #1 into the sparc tree too.