On 06/13/2011 04:05 PM, Ben Greear wrote:
> On 06/13/2011 02:53 PM, Ben Greear wrote:
>> On 06/13/2011 01:54 PM, Brandeburg, Jesse wrote:
>>> The generator box seems to be resetting the controller (and therefore the 
>>> link) Check out ethtool stats on both side and look for tx_timeout.
>>>
>>
>> The emulator (igb) system is steadily increasing every
>> few seconds:
>>
>>        tx_timeout_count: 9
>
> I think the problem lies in the same place that I reported the crash
> last time:
>
> adapter->num_tx_queues is 1, but netdev->num_tx_queues is 16.

Actually, the bug appears to be my fault.  I was assuming that 
skb->queue_mapping
on input matched output, but it's actually +1 on input, so you need to use
the accessor methods (skb_get_rx_queue()) to get and set it before transmitting.

So, I was sending pkts to igb with on queue 1, when in fact it had only
one real queue.  The packets do leave the box fine, and if you disable
the timeout() logic, it runs flawless, but the trans_start is never
updated on queue 0, even though it will report itself as queue-stopped
when queue 1 is being over-driven (and thus often stopped).

This bug has been in my code since 2.6.31 or so, so not sure why I only
hit it on out-of-kernel igb, but maybe because it has only a single real queue.
(I was also using dev->num_tx_queues as the upper bound check, instead
of the correct dev->real_num_tx_queues)

Hope this email helps someone else avoid this same mistake!

Thanks,
Ben

-- 
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to