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>