Date: Sun, 6 Mar 2011 16:40:13 -0500 From: Arnaud Lacombe <lacombar@gmail.com> To: Jack Vogel <jfvogel@gmail.com> Cc: freebsd-stable@freebsd.org, =?ISO-8859-1?Q?=D6zkan_KIRIK?= <ozkan.kirik@gmail.com>, Brandon Gooch <jamesbrandongooch@gmail.com>, freebsd-net@freebsd.org, Jan Koum <jan@whatsapp.com>, Steven Hartland <killing@multiplay.co.uk> Subject: Re: em0 with latest driver hangs again and again (without "Watchdogtimeout" message!) Message-ID: <AANLkTikQ%2BCcb5jUPNC8sYMC6c6yCpmSk-wtOpiKr2kDg@mail.gmail.com> In-Reply-To: <AANLkTinEB7hz=0b-LgYKHHX43WAephFmhj11gDadE-uV@mail.gmail.com> References: <1975926365.20110223121637@serebryakov.spb.ru> <4D64EC8C.2080007@sentex.net> <1004451940.20110223143607@serebryakov.spb.ru> <AANLkTi=1hQ-tSYtt=KrRi60yi7P9GvVDTG%2Bn8Pz61M_H@mail.gmail.com> <AANLkTinmmqSphSJpMahbvoQ-6-0UnV-O_ESV_R98oyqO@mail.gmail.com> <AANLkTik19U424kaV%2BvcF98s_MzWMvfek90WmBm%2BemO98@mail.gmail.com> <4D6D00C1.1040805@sentex.net> <1416421652.20110301225215@serebryakov.spb.ru> <AANLkTinkEJaqRZ2YxyZqzfZ8a3iZt7H2YscXzU_QiSiS@mail.gmail.com> <1627628072.20110303111046@serebryakov.spb.ru> <AANLkTikKs-a4d79A6LnnXJG_REo9iVNYJRAwiJXRStH1@mail.gmail.com> <1894628540.20110304012554@serebryakov.spb.ru> <31A99DAA7E5F4095B22B9DD57DD0E19E@multiplay.co.uk> <494278763.20110305130320@serebryakov.spb.ru> <AANLkTikBxTmUZaMXMk2t1RTZ5VhU7zZG=FUv2hJUEzmR@mail.gmail.com> <AANLkTinkk8btZLoyNYRb4w68484=zjKqn%2BfAemGjj%2BXL@mail.gmail.com> <AANLkTinEB7hz=0b-LgYKHHX43WAephFmhj11gDadE-uV@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, On Sun, Mar 6, 2011 at 4:23 PM, Arnaud Lacombe <lacombar@gmail.com> wrote: > Hi Jack, > > On Sun, Mar 6, 2011 at 2:48 PM, Jack Vogel <jfvogel@gmail.com> wrote: >> Missed packets just mean that some temporary resource shortage or error >> caused >> the packet to be dropped. I don't believe this is indicative of a proble= m, >> just let it >> keep running, 2 days is good but 2 weeks is better :) >> >> Thanks for testing it! >> > I still did not get any feedback from you about the patch I sent the > list about not ignoring the RX overrun interrupt triggered by the > card. > Just to precise. For what I understood of Beezar Lui "fix", all the work is done in the RX interrupt context, ie. you rely on the card to trigger RX interrupt to refresh mbufs. If the resource shortage is too long, the card stops triggering RX interrupt and "hang", but it _still_ trigger RX overrun to warn the OS about the situation. Currently this interrupt is just ignored. Your original fix works for igb(4) as a single handler is used per queue; igb_rxeof() get called in both RX and TX context. This is not the case with em(4) as RX and TX interrupt are independent from each other. So if the hardware empties the ring and you cannot replenish it while you still get RX interrupt, you have no other choice than using the RX overrun interrupt to hope to recover. - Arnaud > Thanks, > =A0- Arnaud > >> Jack >> >> >> On Sun, Mar 6, 2011 at 4:37 AM, =D6zkan KIRIK <ozkan.kirik@gmail.com> wr= ote: >>> >>> Hello, >>> >>> I've been testing the em.7.2.2 driver as kld. The system is up about 2 >>> days 6 hours. >>> System has 4 em interfaces, Throughput is about 200Mbit/s. System >>> didn't hang, but em2 has Input Errors. >>> >>> I saw that, dev.em.2.mac_stats.missed_packets is not zero? What could >>> be the problem? >>> >>> # uname -r >>> 8.2-RELEASE >>> >>> # sysctl dev.em.| grep miss >>> dev.em.0.mac_stats.missed_packets: 0 >>> dev.em.1.mac_stats.missed_packets: 0 >>> dev.em.2.mac_stats.missed_packets: 5886 >>> dev.em.3.mac_stats.missed_packets: 0 >>> >>> # netstat -nWI em2 | grep Link >>> Name =A0 =A0 =A0Mtu Network =A0 =A0 =A0 Address =A0 =A0 =A0 =A0 =A0 =A0= =A0Ipkts Ierrs Idrop >>> Opkts Oerrs =A0Coll >>> em2 =A0 =A0 =A01500 <Link#4> =A0 =A0 =A000:23:8b:89:e4:9e 267256324 =A0= 5886 =A0 =A0 0 >>> 273081628 =A0 =A0 0 =A0 =A0 0 >>> >>> # sysctl dev.em.2. >>> dev.em.2.%desc: Intel(R) PRO/1000 Network Connection 7.2.2 >>> dev.em.2.%driver: em >>> dev.em.2.%location: slot=3D0 function=3D0 handle=3D\_SB_.PCI0.P0P4.BR1E >>> dev.em.2.%pnpinfo: vendor=3D0x8086 device=3D0x105e subvendor=3D0x108e >>> subdevice=3D0x125e class=3D0x020000 >>> dev.em.2.%parent: pci12 >>> dev.em.2.nvm: -1 >>> dev.em.2.debug: -1 >>> dev.em.2.rx_int_delay: 0 >>> dev.em.2.tx_int_delay: 66 >>> dev.em.2.rx_abs_int_delay: 66 >>> dev.em.2.tx_abs_int_delay: 66 >>> dev.em.2.rx_processing_limit: 100 >>> dev.em.2.flow_control: 3 >>> dev.em.2.eee_control: 0 >>> dev.em.2.link_irq: 0 >>> dev.em.2.mbuf_alloc_fail: 0 >>> dev.em.2.cluster_alloc_fail: 0 >>> dev.em.2.dropped: 0 >>> dev.em.2.tx_dma_fail: 0 >>> dev.em.2.rx_overruns: 7 >>> dev.em.2.watchdog_timeouts: 0 >>> dev.em.2.device_control: 1075577409 >>> dev.em.2.rx_control: 67141634 >>> dev.em.2.fc_high_water: 30720 >>> dev.em.2.fc_low_water: 29220 >>> dev.em.2.queue0.txd_head: 3025 >>> dev.em.2.queue0.txd_tail: 3025 >>> dev.em.2.queue0.tx_irq: 0 >>> dev.em.2.queue0.no_desc_avail: 0 >>> dev.em.2.queue0.rxd_head: 1826 >>> dev.em.2.queue0.rxd_tail: 1825 >>> dev.em.2.queue0.rx_irq: 0 >>> dev.em.2.mac_stats.excess_coll: 0 >>> dev.em.2.mac_stats.single_coll: 0 >>> dev.em.2.mac_stats.multiple_coll: 0 >>> dev.em.2.mac_stats.late_coll: 0 >>> dev.em.2.mac_stats.collision_count: 0 >>> dev.em.2.mac_stats.symbol_errors: 0 >>> dev.em.2.mac_stats.sequence_errors: 0 >>> dev.em.2.mac_stats.defer_count: 0 >>> dev.em.2.mac_stats.missed_packets: 5886 >>> dev.em.2.mac_stats.recv_no_buff: 3407 >>> dev.em.2.mac_stats.recv_undersize: 0 >>> dev.em.2.mac_stats.recv_fragmented: 0 >>> dev.em.2.mac_stats.recv_oversize: 0 >>> dev.em.2.mac_stats.recv_jabber: 0 >>> dev.em.2.mac_stats.recv_errs: 0 >>> dev.em.2.mac_stats.crc_errs: 0 >>> dev.em.2.mac_stats.alignment_errs: 0 >>> dev.em.2.mac_stats.coll_ext_errs: 0 >>> dev.em.2.mac_stats.xon_recvd: 0 >>> dev.em.2.mac_stats.xon_txd: 0 >>> dev.em.2.mac_stats.xoff_recvd: 0 >>> dev.em.2.mac_stats.xoff_txd: 0 >>> dev.em.2.mac_stats.total_pkts_recvd: 265358324 >>> dev.em.2.mac_stats.good_pkts_recvd: 265352438 >>> dev.em.2.mac_stats.bcast_pkts_recvd: 701728 >>> dev.em.2.mac_stats.mcast_pkts_recvd: 4076 >>> dev.em.2.mac_stats.rx_frames_64: 0 >>> dev.em.2.mac_stats.rx_frames_65_127: 140801982 >>> dev.em.2.mac_stats.rx_frames_128_255: 3553397 >>> dev.em.2.mac_stats.rx_frames_256_511: 3418754 >>> dev.em.2.mac_stats.rx_frames_512_1023: 8096866 >>> dev.em.2.mac_stats.rx_frames_1024_1522: 109481439 >>> dev.em.2.mac_stats.good_octets_recvd: 177455051448 >>> dev.em.2.mac_stats.good_octets_txd: 274861571704 >>> dev.em.2.mac_stats.total_pkts_txd: 270439410 >>> dev.em.2.mac_stats.good_pkts_txd: 270439410 >>> dev.em.2.mac_stats.bcast_pkts_txd: 194927 >>> dev.em.2.mac_stats.mcast_pkts_txd: 48 >>> dev.em.2.mac_stats.tx_frames_64: 23050855 >>> dev.em.2.mac_stats.tx_frames_65_127: 54156414 >>> dev.em.2.mac_stats.tx_frames_128_255: 4299280 >>> dev.em.2.mac_stats.tx_frames_256_511: 7837146 >>> dev.em.2.mac_stats.tx_frames_512_1023: 8272014 >>> dev.em.2.mac_stats.tx_frames_1024_1522: 172823701 >>> dev.em.2.mac_stats.tso_txd: 0 >>> dev.em.2.mac_stats.tso_ctx_fail: 0 >>> dev.em.2.interrupts.asserts: 283674059 >>> dev.em.2.interrupts.rx_pkt_timer: 33585 >>> dev.em.2.interrupts.rx_abs_timer: 0 >>> dev.em.2.interrupts.tx_pkt_timer: 11022 >>> dev.em.2.interrupts.tx_abs_timer: 22449 >>> dev.em.2.interrupts.tx_queue_empty: 0 >>> dev.em.2.interrupts.tx_queue_min_thresh: 0 >>> dev.em.2.interrupts.rx_desc_min_thresh: 0 >>> dev.em.2.interrupts.rx_overrun: 0 >>> >>> Regards, >>> Ozkan KIRIK >> >> >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikQ%2BCcb5jUPNC8sYMC6c6yCpmSk-wtOpiKr2kDg>