Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Feb 2012 11:55:02 -0500
From:      Arnaud Lacombe <lacombar@gmail.com>
To:        "Vogel, Jack" <jack.vogel@intel.com>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: Missed packet on recent em(4)
Message-ID:  <CACqU3MXBjFk8L5vY-MTRtqFkOdT-7zECVzBTRR2d%2BmBu-3dtiw@mail.gmail.com>
In-Reply-To: <BC1B13FD0226B0479C795193AC1B25720445A7@ORSMSX104.amr.corp.intel.com>
References:  <CACqU3MWLcURFL4k3-Athcvd5TwtodqA5=vryE-wxgFFp8-wnrw@mail.gmail.com> <BC1B13FD0226B0479C795193AC1B25720445A7@ORSMSX104.amr.corp.intel.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

On Wed, Feb 8, 2012 at 7:15 PM, Vogel, Jack <jack.vogel@intel.com> wrote:
> The NETMAP code is all self-contained, just delete what's inside the ifde=
f's
>
not exactly, the allocator stuff from r229939 is not that self
contained, but beside that my problem is more to get the patches to
apply to our internal 7-STABLE tree.

My generic workflow is to mindlessly use git-format-patch to generate
the set of patches, slightly reformat commit log to our internal
standard, and apply that on top of the target tree. I then let git
figures out eventual conflicts and fix them. I do not want to have to
think about all the things we changed internally which might conflict,
but also want to keep record of who made what change in which
commit/revision. To some extend, I want to avoid the mess which
happened in `sys/dev/e1000/' where you blew luigi@ and other
committers changes by blindly committing stuff and letting them fix
the damage afterward. These few commits were just wonderful, I must
admit you made my day a little less sad ;-)

 - Arnaud

> Jack
>
>
> -----Original Message-----
> From: Arnaud Lacombe [mailto:lacombar@gmail.com]
> Sent: Wednesday, February 08, 2012 3:25 PM
> To: Vogel, Jack
> Cc: freebsd-net@freebsd.org
> Subject: Missed packet on recent em(4)
>
> Hi Jack,
>
> For the record, on the following hardware:
>
> em3@pci0:5:0:0: class=3D0x020000 card=3D0x150415bb chip=3D0x150c8086 rev=
=3D0x00 hdr=3D0x00
>
> and the following version of em(4):
>
> em3: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xec00-0xec1f
> mem 0xfebe0000-0xfebfffff,0xfebdc000-0xfebdffff irq 19 at device 0.0
> on pci5
> em3: Using an MSI interrupt
> em3: [FILTER]
> em3: Ethernet address: 00:90:fb:35:18:b1
>
> backported to 7-STABLE, I am still getting `missed_packets' increment,
> without any obvious mbuf allocation denial. These increments do not
> translate into complete hang of the driver, just crazy frame loss.
>
> # sysctl dev.em.3
> dev.em.3.%desc: Intel(R) PRO/1000 Network Connection 7.2.3
> dev.em.3.%driver: em
> dev.em.3.%location: slot=3D0 function=3D0
> dev.em.3.%pnpinfo: vendor=3D0x8086 device=3D0x150c subvendor=3D0x15bb
> subdevice=3D0x1504 class=3D0x020000
> dev.em.3.%parent: pci5
> dev.em.3.rx_int_delay: 0
> dev.em.3.tx_int_delay: 66
> dev.em.3.rx_abs_int_delay: 66
> dev.em.3.tx_abs_int_delay: 66
> dev.em.3.rx_processing_limit: 100
> dev.em.3.flow_control: 3
> dev.em.3.eee_control: 0
> dev.em.3.link_irq: 0
> dev.em.3.mbuf_alloc_fail: 0
> dev.em.3.cluster_alloc_fail: 0
> dev.em.3.dropped: 0
> dev.em.3.tx_dma_fail: 0
> dev.em.3.rx_overruns: 78
> dev.em.3.watchdog_timeouts: 0
> dev.em.3.device_control: 1477444168
> dev.em.3.rx_control: 67141634
> dev.em.3.fc_high_water: 18432
> dev.em.3.fc_low_water: 16932
> dev.em.3.queue0.txd_head: 703
> dev.em.3.queue0.txd_tail: 703
> dev.em.3.queue0.tx_irq: 0
> dev.em.3.queue0.no_desc_avail: 0
> dev.em.3.queue0.rxd_head: 692
> dev.em.3.queue0.rxd_tail: 691
> dev.em.3.queue0.rx_irq: 0
> dev.em.3.mac_stats.excess_coll: 0
> dev.em.3.mac_stats.single_coll: 0
> dev.em.3.mac_stats.multiple_coll: 0
> dev.em.3.mac_stats.late_coll: 0
> dev.em.3.mac_stats.collision_count: 0
> dev.em.3.mac_stats.symbol_errors: 0
> dev.em.3.mac_stats.sequence_errors: 0
> dev.em.3.mac_stats.defer_count: 0
> dev.em.3.mac_stats.missed_packets: 1135790
> dev.em.3.mac_stats.recv_no_buff: 555763
> dev.em.3.mac_stats.recv_undersize: 0
> dev.em.3.mac_stats.recv_fragmented: 0
> dev.em.3.mac_stats.recv_oversize: 0
> dev.em.3.mac_stats.recv_jabber: 0
> dev.em.3.mac_stats.recv_errs: 0
> dev.em.3.mac_stats.crc_errs: 0
> dev.em.3.mac_stats.alignment_errs: 0
> dev.em.3.mac_stats.coll_ext_errs: 0
> dev.em.3.mac_stats.xon_recvd: 6806
> dev.em.3.mac_stats.xon_txd: 253
> dev.em.3.mac_stats.xoff_recvd: 7583
> dev.em.3.mac_stats.xoff_txd: 742908
> dev.em.3.mac_stats.total_pkts_recvd: 3904354
> dev.em.3.mac_stats.good_pkts_recvd: 2761900
> [...]
>
> This happened with about 1000 short-lived TCP connection filling about
> 100Mbps of traffic.
>
> I saw you made updates to the driver recently. I'll attempt a backport
> and let you know. This might not be trivial given the netmap mess
> which appeared in -current...
>
> =A0- Arnaud



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACqU3MXBjFk8L5vY-MTRtqFkOdT-7zECVzBTRR2d%2BmBu-3dtiw>