On Fri, 8 Oct 2010, Chris Friesen wrote:

> On 10/08/2010 12:34 PM, Chris Friesen wrote:
> > On 10/08/2010 12:03 PM, Brandeburg, Jesse wrote:
> 
> >> To me this sounds extremely like an interrupt enable race, possibly at the 
> >> hardware level with your chipset that is implementing MSI-X
> >>
> >> One thing we can do is stop using autoclear (EIAC), which requires a 
> >> slight bit of code to be added to the MSI-X routines, to make sure the 
> >> driver writes EICR to clear the bit that was asserted.
> > 
> > So basically we'd set the tx/rx queue bits in EIAC to zero at init time
> > and then in ixgbe_clean_rxtx_many() (in my specific case) we'd call
> > ixgbe_irq_disable_queues()?  Is anything else needed?
> 
> Given that the interrupt is showing as present but masked, wouldn't we
> want to stop using auto-mask instead?  It seems like auto-clear isn't
> causing problems.

Yes, I think you're right there.
 
> I've attached a possible patch based on this premise, and I also moved
> the interrupt disable code to
> ixgbe_msix_clean_tx/ixgbe_msix_clean_rx/ixgbe_msix_clean_many where
> there are comments which seem to indicate the proper place to do the
> disabling.  This also means that we only call disable once per interrupt
> rather than every time napi calls the poll function.

the patch itself looks okay, ut I don't understand what you mean by the 
last line of the above paragraph.

> I ignored the legacy code paths since they're not applicable to me.
> 
> Does this look reasonable, or am I missing something?

seems reasonable, it should work okay.  Does it fix the problem?  It seems 
there must be a race between when the interrupt gets re-enabled and when 
the hardware clears the mask via EIAM on the next interrupt.

Talk to you monday...
Jesse

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
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