summaryrefslogtreecommitdiffstats
path: root/sys/dev/hwpmc
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2014-04-17 23:31:50 +0000
committerrmacklem <rmacklem@FreeBSD.org>2014-04-17 23:31:50 +0000
commit512a8b24e7ce0400af26ae2475e6b297fcf4f55e (patch)
tree5e78598731824f2f6f85178d190d7af763017aaf /sys/dev/hwpmc
parent1cb4e2182c251d1b497c4d4eee73f4a512697e54 (diff)
downloadFreeBSD-src-512a8b24e7ce0400af26ae2475e6b297fcf4f55e.zip
FreeBSD-src-512a8b24e7ce0400af26ae2475e6b297fcf4f55e.tar.gz
For NFS mounts using rsize,wsize=65536 over TSO enabled
network interfaces limited to 32 transmit segments, there are two known issues. The more serious one is that for an I/O of slightly less than 64K, the net device driver prepends an ethernet header, resulting in a TSO segment slightly larger than 64K. Since m_defrag() copies this into 33 mbuf clusters, the transmit fails with EFBIG. A tester indicated observing a similar failure using iSCSI. The second less critical problem is that the network device driver must copy the mbuf chain via m_defrag() (m_collapse() is not sufficient), resulting in measurable overhead. This patch reduces the default size of if_hw_tsomax slightly, so that the first issue is avoided. Fixing the second issue will require a way for the network device driver to inform tcp_output() that it is limited to 32 transmit segments. Reported and tested by: csforgeron@gmail.com, markus.gebert@hostpoint.ch MFC after: 2 weeks
Diffstat (limited to 'sys/dev/hwpmc')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud