lkml.org 
[lkml]   [2008]   [Jan]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRE: [REGRESSION] 2.6.24-rc7: e1000: Detected Tx Unit Hang
Date
From
David Miller wrote:
> From: Robert Olsson <Robert.Olsson@data.slu.se>
> Date: Fri, 18 Jan 2008 14:00:57 +0100
>
>> I don't understand the idea with semaphore for enabling/disabling
>> irq's either the overall logic must safer/better without it.
>
> They must have had code paths where they didn't know if IRQs were
> enabled or not already, so they tried to create something which
> approximates the:
>
> local_irq_save(flags);
> local_irq_restore(flags);
>
> constructs we have for CPU interrupts, so they could go:
>
> e1000_irq_disable();
> /* ... */
> e1000_irq_enable();
>
> and this would work even if the caller was running
> with e1000 interrupts disabled already.
>
> Or, something like that... it is indeed confusing.
>
> Anyways, yes it's totally bogus and should be removed.

I agree, bogus, and in fact I've already removed it from our development
version of ixgbe. Right now I wanted to report I can't remove e1000 at
all on 2.6.24-rc8+git

I continually get the
kernel: unregister_netdevice: waiting for eth2 to become free. Usage
count = 1

Where 2.6.24-rc5 e1000 is okay still. Seems like maybe we are still
missing a netif_rx_complete or a napi_disable somewhere.

I don't think this problem has anything to do with the irq_sem right
now. Something is still badly broken. I am just using the interface
regularly (no heavy load) and I can't unload the module.

Jesse


\
 
 \ /
  Last update: 2008-01-20 10:23    [from the cache]
©2003-2011 Jasper Spaans