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

------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding 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

Reply via email to