Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1590529 > unrolled thread

Re: e1000_netpoll() , BUG: sleeping function called from invalid context

Started byThomas Gleixner <tglx@linutronix.de>
First post2017-03-01 18:40 +0100
Last post2017-03-01 23:40 +0100
Articles 6 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: e1000_netpoll() , BUG: sleeping function called from invalid  context Thomas Gleixner <tglx@linutronix.de> - 2017-03-01 18:40 +0100
    Re: e1000_netpoll() , BUG: sleeping function called from invalid  context Thomas Gleixner <tglx@linutronix.de> - 2017-03-01 23:40 +0100
      Re: e1000_netpoll() , BUG: sleeping function called from invalid  context Gabriel C <nix.or.die@gmail.com> - 2017-03-02 00:50 +0100
        Re: e1000_netpoll() , BUG: sleeping function called from invalid  context Gabriel C <nix.or.die@gmail.com> - 2017-03-02 02:10 +0100
          Re: e1000_netpoll() , BUG: sleeping function called from invalid  context Gabriel C <nix.or.die@gmail.com> - 2017-03-02 16:00 +0100
    Re: e1000_netpoll() , BUG: sleeping function called from invalid  context Gabriel C <nix.or.die@gmail.com> - 2017-03-01 23:40 +0100

#1590529 — Re: e1000_netpoll() , BUG: sleeping function called from invalid context

FromThomas Gleixner <tglx@linutronix.de>
Date2017-03-01 18:40 +0100
SubjectRe: e1000_netpoll() , BUG: sleeping function called from invalid context
Message-ID<tggoj-6jU-39@gated-at.bofh.it>
On Sat, 18 Feb 2017, Gabriel C wrote:
> That got changed in commit 3111912971251 which got into Linus tree during
> the 4.10 merge window. So it is in 4.10-rc8.
> 
> Confused.

I'm still confused. Gabriel, can you please try to reproduce with 4.10
final?

Thanks,

	tglx

[toc] | [next] | [standalone]


#1590665

FromThomas Gleixner <tglx@linutronix.de>
Date2017-03-01 23:40 +0100
Message-ID<tgl4B-1eE-9@gated-at.bofh.it>
In reply to#1590529
On Wed, 1 Mar 2017, Gabriel C wrote:
> On 01.03.2017 18:13, Thomas Gleixner wrote:
> > On Sat, 18 Feb 2017, Gabriel C wrote:
> > > That got changed in commit 3111912971251 which got into Linus tree during
> > > the 4.10 merge window. So it is in 4.10-rc8.
> > > 
> > > Confused.
> > 
> > I'm still confused. Gabriel, can you please try to reproduce with 4.10
> > final?
> > 
> 
> Sure , do you want plain 4.10.0 or 4.10.1 ?
> 
> Btw is possible to rename e1000_netpoll() from e1000e driver
> to e1000e_netpoll() so we know what driver is in use ?

Grr. yes. That would be definitely helpful. I was staring into the wrong
one of course.

> My card uses the e1000e driver..

Does the patch below fix it?

Thanks,

	tglx
	
8<--------------

--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -6716,19 +6716,19 @@ static irqreturn_t e1000_intr_msix(int _
 
 		vector = 0;
 		msix_irq = adapter->msix_entries[vector].vector;
-		disable_irq(msix_irq);
+		disable_hardirq(msix_irq);
 		e1000_intr_msix_rx(msix_irq, netdev);
 		enable_irq(msix_irq);
 
 		vector++;
 		msix_irq = adapter->msix_entries[vector].vector;
-		disable_irq(msix_irq);
+		disable_hardirq(msix_irq);
 		e1000_intr_msix_tx(msix_irq, netdev);
 		enable_irq(msix_irq);
 
 		vector++;
 		msix_irq = adapter->msix_entries[vector].vector;
-		disable_irq(msix_irq);
+		disable_hardirq(msix_irq);
 		e1000_msix_other(msix_irq, netdev);
 		enable_irq(msix_irq);
 	}

[toc] | [prev] | [next] | [standalone]


#1590705

FromGabriel C <nix.or.die@gmail.com>
Date2017-03-02 00:50 +0100
Message-ID<tgmal-1Yy-3@gated-at.bofh.it>
In reply to#1590665

On 01.03.2017 23:38, Thomas Gleixner wrote:
> On Wed, 1 Mar 2017, Gabriel C wrote:
>> On 01.03.2017 18:13, Thomas Gleixner wrote:
>>> On Sat, 18 Feb 2017, Gabriel C wrote:
>>>> That got changed in commit 3111912971251 which got into Linus tree during
>>>> the 4.10 merge window. So it is in 4.10-rc8.
>>>>
>>>> Confused.
>>>
>>> I'm still confused. Gabriel, can you please try to reproduce with 4.10
>>> final?
>>>
>>
>> Sure , do you want plain 4.10.0 or 4.10.1 ?
>>
>> Btw is possible to rename e1000_netpoll() from e1000e driver
>> to e1000e_netpoll() so we know what driver is in use ?
>
> Grr. yes. That would be definitely helpful. I was staring into the wrong
> one of course.
>
>> My card uses the e1000e driver..
>
> Does the patch below fix it?

I'll test you patch in a bit and let you know.

>
> Thanks,
>
> 	tglx
> 	
> 8<--------------
>
> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
> @@ -6716,19 +6716,19 @@ static irqreturn_t e1000_intr_msix(int _
>
>  		vector = 0;
>  		msix_irq = adapter->msix_entries[vector].vector;
> -		disable_irq(msix_irq);
> +		disable_hardirq(msix_irq);
>  		e1000_intr_msix_rx(msix_irq, netdev);
>  		enable_irq(msix_irq);
>
>  		vector++;
>  		msix_irq = adapter->msix_entries[vector].vector;
> -		disable_irq(msix_irq);
> +		disable_hardirq(msix_irq);
>  		e1000_intr_msix_tx(msix_irq, netdev);
>  		enable_irq(msix_irq);
>
>  		vector++;
>  		msix_irq = adapter->msix_entries[vector].vector;
> -		disable_irq(msix_irq);
> +		disable_hardirq(msix_irq);
>  		e1000_msix_other(msix_irq, netdev);
>  		enable_irq(msix_irq);
>  	}
>

[toc] | [prev] | [next] | [standalone]


#1590758

FromGabriel C <nix.or.die@gmail.com>
Date2017-03-02 02:10 +0100
Message-ID<tgnpM-30D-11@gated-at.bofh.it>
In reply to#1590705

>> Does the patch below fix it?
>
> I'll test you patch in a bit and let you know.
>

It seem to work.

But to be really sure I let the box running with this setup over night.


>> 	
>> 8<--------------
>>
>> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
>> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
>> @@ -6716,19 +6716,19 @@ static irqreturn_t e1000_intr_msix(int _
>>
>>  		vector = 0;
>>  		msix_irq = adapter->msix_entries[vector].vector;
>> -		disable_irq(msix_irq);
>> +		disable_hardirq(msix_irq);
>>  		e1000_intr_msix_rx(msix_irq, netdev);
>>  		enable_irq(msix_irq);
>>
>>  		vector++;
>>  		msix_irq = adapter->msix_entries[vector].vector;
>> -		disable_irq(msix_irq);
>> +		disable_hardirq(msix_irq);
>>  		e1000_intr_msix_tx(msix_irq, netdev);
>>  		enable_irq(msix_irq);
>>
>>  		vector++;
>>  		msix_irq = adapter->msix_entries[vector].vector;
>> -		disable_irq(msix_irq);
>> +		disable_hardirq(msix_irq);
>>  		e1000_msix_other(msix_irq, netdev);
>>  		enable_irq(msix_irq);
>>  	}
>>

[toc] | [prev] | [next] | [standalone]


#1591163

FromGabriel C <nix.or.die@gmail.com>
Date2017-03-02 16:00 +0100
Message-ID<tgAn1-3FV-37@gated-at.bofh.it>
In reply to#1590758

On 02.03.2017 01:04, Gabriel C wrote:
>
>
>>> Does the patch below fix it?
>>
>> I'll test you patch in a bit and let you know.
>>
>
> It seem to work.
>
> But to be really sure I let the box running with this setup over night.
>

Also with 4.10.1 + your patch all seems fine..

The box is up 13 hours now and I cannot trigger the BUG()..

>>> 	
>>> 8<--------------
>>>
>>> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
>>> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
>>> @@ -6716,19 +6716,19 @@ static irqreturn_t e1000_intr_msix(int _
>>>
>>>  		vector = 0;
>>>  		msix_irq = adapter->msix_entries[vector].vector;
>>> -		disable_irq(msix_irq);
>>> +		disable_hardirq(msix_irq);
>>>  		e1000_intr_msix_rx(msix_irq, netdev);
>>>  		enable_irq(msix_irq);
>>>
>>>  		vector++;
>>>  		msix_irq = adapter->msix_entries[vector].vector;
>>> -		disable_irq(msix_irq);
>>> +		disable_hardirq(msix_irq);
>>>  		e1000_intr_msix_tx(msix_irq, netdev);
>>>  		enable_irq(msix_irq);
>>>
>>>  		vector++;
>>>  		msix_irq = adapter->msix_entries[vector].vector;
>>> -		disable_irq(msix_irq);
>>> +		disable_hardirq(msix_irq);
>>>  		e1000_msix_other(msix_irq, netdev);
>>>  		enable_irq(msix_irq);
>>>  	}
>>>

[toc] | [prev] | [next] | [standalone]


#1590668

FromGabriel C <nix.or.die@gmail.com>
Date2017-03-01 23:40 +0100
Message-ID<tgl4B-1eE-11@gated-at.bofh.it>
In reply to#1590529

On 01.03.2017 18:13, Thomas Gleixner wrote:
> On Sat, 18 Feb 2017, Gabriel C wrote:
>> That got changed in commit 3111912971251 which got into Linus tree during
>> the 4.10 merge window. So it is in 4.10-rc8.
>>
>> Confused.
>
> I'm still confused. Gabriel, can you please try to reproduce with 4.10
> final?
>

Sure , do you want plain 4.10.0 or 4.10.1 ?

Btw is possible to rename e1000_netpoll() from e1000e driver
to e1000e_netpoll() so we know what driver is in use ?

My card uses the e1000e driver..

Regard,

Gabriel

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web