[Bug 195078] em tx_dma_fails and dropped packets
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Wed Jan 27 22:32:09 UTC 2016
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195078
--- Comment #6 from commit-hook at freebsd.org ---
A commit references this bug:
Author: marius
Date: Wed Jan 27 22:31:09 UTC 2016
New revision: 294958
URL: https://svnweb.freebsd.org/changeset/base/294958
Log:
Sync the e1000 drivers with what's in head as of r294327, modulo parts
that don't apply to stable/10 (driver API, if_inc_counter(), RSS changes
etc.) and modulo r287465 (which reportedly breaks igb(4)), i. e. assorted
fixes and improvements only:
o MFC r267385 (partial):
- Don't compare bus_dma map pointers for static DMA allocations against
NULL to determine if bus_dmamap_unload() or bus_dmamem_free() should be
called. Instead, check the associated bus and virtual addresses.
- Don't clear static DMA maps to NULL.
o MFC r284933:
Delete the refernce to VLAN handling being disabled by default. This is
no longer the case. [1]
o MFC r285639:
Add an adapter CORE lock in the DDB hook em_dump_queue to avoid WITNESS
panic in em_init_locked() while debugging.
o MFC r285879:
- Remove unused txd_saved.
- Intialize txd_upper, txd_lower and txd_used at declaration.
o MFC r286162:
Free mbufs when busdma loading fails.
o MFC r286829:
Add capability to disable CRC stripping as it breaks IPMI/BMC capabilities
on certain adatpers. [2]
o MFC r286831: [3]
- Increase EM_MAX_SCATTER to 64 such that the size of em_xmit()::
segs[EM_MAX_SCATTER] doesn't get overrun by things like NFS that can
and do shove more than 32 segs when being used with em(4) and TSO4.
- Update tso handling code in em_xmit() with update from jhb@
- Set if_hw_tsomax, if_hw_tsomaxsegcount and if_hw_tsomaxsegsize to
appropriate values.
- Define a TSO workaround "magic" number of 4 that is used to avoid an
alignment issue in hardware.
- Change a couple of integer values that were used as booleans to actual
bool types.
- Ensure that em_enable_intr() enables the appropriate mask of interrupts
and not just a hardcoded define of values.
o MFC r286832:
e1000/if_lem.c bump to 1.1.0
o MFC r286833:
Bump all copywrite dates to 2015.
o MFC r287112:
Style/whitespace cleanup in shared/common code.
o MFC r293331:
- Switch em(4) to the extended RX descriptor format.
- Split rxbuffer and txbuffer apart to support the new RX descriptor
format structures. Move rxbuffer manipulation to em_setup_rxdesc() to
unify the new behavior changes.
- Add a RSSKEYLEN macro for help in generating the RSSKEY data structures
in the card.
- Change em_receive_checksum() to process the new rxdescriptor format
status bit.
o MFC r293332:
Disable the reuse of checksum offload context descriptors in the case
of multiple queues in em(4). Document errata in the code.
o MFC r293854:
Given that em(4), lem(4) and igb(4) hardware doesn't require the
alignment guarantees provided by m_defrag(9), use m_collapse(9)
instead for performance reasons.
While at it, sanitize the statistics softc members, i. e. retire
unused ones and add SYSCTL nodes missing for actually used ones.
PR: 118693 [1], 161277 [2], 195078 [3], 199174 [3], 200221 [3]
Changes:
_U stable/10/
stable/10/share/man/man4/em.4
stable/10/sys/dev/e1000/e1000_80003es2lan.c
stable/10/sys/dev/e1000/e1000_80003es2lan.h
stable/10/sys/dev/e1000/e1000_82540.c
stable/10/sys/dev/e1000/e1000_82541.c
stable/10/sys/dev/e1000/e1000_82541.h
stable/10/sys/dev/e1000/e1000_82542.c
stable/10/sys/dev/e1000/e1000_82543.c
stable/10/sys/dev/e1000/e1000_82543.h
stable/10/sys/dev/e1000/e1000_82571.c
stable/10/sys/dev/e1000/e1000_82571.h
stable/10/sys/dev/e1000/e1000_82575.c
stable/10/sys/dev/e1000/e1000_82575.h
stable/10/sys/dev/e1000/e1000_api.c
stable/10/sys/dev/e1000/e1000_api.h
stable/10/sys/dev/e1000/e1000_defines.h
stable/10/sys/dev/e1000/e1000_hw.h
stable/10/sys/dev/e1000/e1000_i210.c
stable/10/sys/dev/e1000/e1000_i210.h
stable/10/sys/dev/e1000/e1000_ich8lan.c
stable/10/sys/dev/e1000/e1000_ich8lan.h
stable/10/sys/dev/e1000/e1000_mac.c
stable/10/sys/dev/e1000/e1000_mac.h
stable/10/sys/dev/e1000/e1000_manage.c
stable/10/sys/dev/e1000/e1000_manage.h
stable/10/sys/dev/e1000/e1000_mbx.c
stable/10/sys/dev/e1000/e1000_mbx.h
stable/10/sys/dev/e1000/e1000_nvm.c
stable/10/sys/dev/e1000/e1000_nvm.h
stable/10/sys/dev/e1000/e1000_osdep.c
stable/10/sys/dev/e1000/e1000_osdep.h
stable/10/sys/dev/e1000/e1000_phy.c
stable/10/sys/dev/e1000/e1000_phy.h
stable/10/sys/dev/e1000/e1000_regs.h
stable/10/sys/dev/e1000/e1000_vf.c
stable/10/sys/dev/e1000/e1000_vf.h
stable/10/sys/dev/e1000/if_em.c
stable/10/sys/dev/e1000/if_em.h
stable/10/sys/dev/e1000/if_igb.c
stable/10/sys/dev/e1000/if_igb.h
stable/10/sys/dev/e1000/if_lem.c
stable/10/sys/dev/e1000/if_lem.h
stable/10/sys/dev/ixgb/if_ixgb.c
stable/10/sys/dev/netmap/if_em_netmap.h
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-net
mailing list