Hi Alex,
If there is only 1 RX buffer being used (DCB not enabled), when there are
packets dropped I should just see missed packets for mpc0 like what I see
below?
This 1 Rx buffer uses all the space available to it - up to 512Kb, depending
on the features enabled such as flow director?
0x03FA0: mpc0 (Missed Packets Count 0) 0x0723CE36
0x03FA4: mpc1 (Missed Packets Count 1) 0x00000000
0x03FA8: mpc2 (Missed Packets Count 2) 0x00000000
0x03FAC: mpc3 (Missed Packets Count 3) 0x00000000
0x03FB0: mpc4 (Missed Packets Count 4) 0x00000000
0x03FB4: mpc5 (Missed Packets Count 5) 0x00000000
0x03FB8: mpc6 (Missed Packets Count 6) 0x00000000
0x03FBC: mpc7 (Missed Packets Count 7) 0x00000000
According to the 82599 data sheet
*8.2.3.23.4 Rx Missed Packets Count — RXMPC[n] (0x03FA0 + 4*n, n=0...7; RC)
DBU-Rx*
Register ‘n’ counts the number of missed packets per packet buffer ‘n’.
Packets are missed when the receive FIFO has insufficient space to store the
incoming
packet. This may be caused due to insufficient buffers allocated, or because
there is
insufficient bandwidth on the IO bus. Events setting this counter also set
the receiver
overrun interrupt (RXO). These registers do not increment if receive is not
enabled and
count only packets that would have been posted to the SW driver.
Jonathan
On 13 May 2011 22:47, Alexander Duyck <[email protected]> wrote:
> On 5/13/2011 2:39 PM, Lynch, Jonathan wrote:
>
>> Hi Alexander,
>>
>> When I load ixgbe 3.3.8 driver with flow director as below or with no
>> parameters (default RSS), only 1 HW RX buffer is setup. I have included a
>> dump of the registers from ethtool containing the buffer sizes.
>>
>> /sbin/insmod /root/mount/intel/ixgbe-3.3.8/src/ixgbe.ko FdirMode=2,2
>> FdirPballoc=1,1
>> ifconfig eth4 up
>>
>> ethtool -d eth4 | grep RXP
>> 0x03C00: RXPBSIZE0 (Receive Packet Buffer Size 0) 0x00070000
>> 0x03C04: RXPBSIZE1 (Receive Packet Buffer Size 1) 0x00000000
>> 0x03C08: RXPBSIZE2 (Receive Packet Buffer Size 2) 0x00000000
>> 0x03C0C: RXPBSIZE3 (Receive Packet Buffer Size 3) 0x00000000
>> 0x03C10: RXPBSIZE4 (Receive Packet Buffer Size 4) 0x00000000
>> 0x03C14: RXPBSIZE5 (Receive Packet Buffer Size 5) 0x00000000
>> 0x03C18: RXPBSIZE6 (Receive Packet Buffer Size 6) 0x00000000
>> 0x03C1C: RXPBSIZE7 (Receive Packet Buffer Size 7) 0x00000000
>>
>> Then with RSS turned off, I can see that we have 8 full sized RX buffers.
>> /sbin/insmod /root/mount/intel/ixgbe-3.3.8/src/ixgbe.ko RSS=0,0
>> ifconfig eth4 up
>>
>> ethtool -d eth4 | grep RXP
>> 0x03C00: RXPBSIZE0 (Receive Packet Buffer Size 0) 0x00080000
>> 0x03C04: RXPBSIZE1 (Receive Packet Buffer Size 1) 0x00080000
>> 0x03C08: RXPBSIZE2 (Receive Packet Buffer Size 2) 0x00080000
>> 0x03C0C: RXPBSIZE3 (Receive Packet Buffer Size 3) 0x00080000
>> 0x03C10: RXPBSIZE4 (Receive Packet Buffer Size 4) 0x00080000
>> 0x03C14: RXPBSIZE5 (Receive Packet Buffer Size 5) 0x00080000
>> 0x03C18: RXPBSIZE6 (Receive Packet Buffer Size 6) 0x00080000
>> 0x03C1C: RXPBSIZE7 (Receive Packet Buffer Size 7) 0x00080000
>>
>> Is it a bug that only 1 HW RX buffer is used when Flow director or RSS is
>> enabled? or this expected behaviour?
>>
>> Regards
>> Jonathan
>>
>
> Actually only on RX buffer is used unless DCB is enabled. The extra values
> floating around in the packet buffer size values for 1 through 7 would seem
> to indicate that Flow Director and ATR are likely also disabled.
>
> The reason why the RX packet buffers for 1 through 7 are zeroed out is
> because the values are only updated when enabling Flow Director, ATR, or DCB
> configuration. Also the values reported in the RXPBSIZE registers are
> incorrect. If you added them together and did the math it would make it
> appear you have a 4MB FIFO which is not the case. The correct value for
> total FIFO size is only 512K.
>
> Thanks,
>
> Alex
>
------------------------------------------------------------------------------
What Every C/C++ and Fortran developer Should Know!
Read this article and learn how Intel has extended the reach of its
next-generation tools to help Windows* and Linux* C/C++ and Fortran
developers boost performance applications - including clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit
http://communities.intel.com/community/wired