From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Leitner Subject: Re: Question about be2net error field, rx_drops_no_pbuf Date: Tue, 15 May 2012 09:45:00 -0300 Message-ID: <4FB24FCC.7000206@redhat.com> References: <4FB17863.5020908@redhat.com> <3367B80B08154D42A3B2BC708B5D41F64580B0D945@EXMAIL.ad.emulex.com> Reply-To: mleitner@redhat.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org To: Sathya.Perla@Emulex.Com Return-path: Received: from mx1.redhat.com ([209.132.183.28]:61659 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932598Ab2EOMpM (ORCPT ); Tue, 15 May 2012 08:45:12 -0400 In-Reply-To: <3367B80B08154D42A3B2BC708B5D41F64580B0D945@EXMAIL.ad.emulex.com> Sender: netdev-owner@vger.kernel.org List-ID: On 05/15/2012 01:28 AM, Sathya.Perla@Emulex.Com wrote: > >> -----Original Message----- >> From: netdev-owner@vger.kernel.org [mailto:netdev-owner@vger.kernel.org] On >> Behalf Of Marcelo Leitner > >> What does 'rx_drops_no_pbuf' mean at be2net driver? I can see it is a >> hardware counter for some type of error, which I would like to know >> about. What causes it? >> >> All documentation I could find about it is a comment referring firmware >> specification > > Brief descriptions of the counters are in be_ethtool.c: > /* Received packets dropped due to lack of available HW packet buffers > * used to temporarily hold the received packets. > */ > {DRVSTAT_INFO(rx_drops_no_pbuf)} > > pbufs are HW buffers for parking incoming pkts before they are transferred to the host. > You can see this counter go up when the transfer speed of the slot is not fast enough. > lspci -vv? Oh! My bad, sorry. NIC is using MTU 9000 bytes. We were seeing a lot of rx_drops_no_frags, then we boosted rx_frag_size to 8192 and it solved all problems for this counter. Then rx_drops_no_pbuf started happening, but in much lower scale: ~14 counter hits for 22TiB RX traffic. It's the only error counter that is different from 0. Only one port is up. From be_ethtool.c: /* Received packets dropped due to lack of available fetched buffers * posted by the driver. */ {DRVSTAT_RX_INFO(rx_drops_no_frags)} So both counters are related, but handling different error points, right? I was thinking about lowering rx-usecs-high (from 96usec to ~80) to make refilling more frequent. What do you think? This is a RHEL 5.8 host, btw. lspci -nvv for the port in use: Thanks! Marcelo. 0b:00.1 Ethernet controller: Emulex Corporation OneConnect 10Gb NIC (rev 02) 0b:00.1 0200: 19a2:0700 (rev 02) Subsystem: 103c:1747 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR-