[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1b0ecd28-8a59-4f06-b03e-45821143454d@intel.com>
Date: Fri, 8 Nov 2024 13:20:28 +0100
From: Przemek Kitszel <przemyslaw.kitszel@...el.com>
To: Wander Lairson Costa <wander@...hat.com>, Tony Nguyen
<anthony.l.nguyen@...el.com>, Sebastian Andrzej Siewior
<bigeasy@...utronix.de>
CC: <tglx@...utronix.de>, Andrew Lunn <andrew+netdev@...n.ch>, "David S.
Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, "Jakub
Kicinski" <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Clark Williams
<clrkwllms@...nel.org>, Steven Rostedt <rostedt@...dmis.org>, Simon Horman
<horms@...nel.org>, Jacob Keller <jacob.e.keller@...el.com>, "moderated
list:INTEL ETHERNET DRIVERS" <intel-wired-lan@...ts.osuosl.org>, "open
list:NETWORKING DRIVERS" <netdev@...r.kernel.org>, open list
<linux-kernel@...r.kernel.org>, "open list:Real-time Linux
(PREEMPT_RT):Keyword:PREEMPT_RT" <linux-rt-devel@...ts.linux.dev>
Subject: Re: [PATCH v2 1/4] Revert "igb: Disable threaded IRQ for
igb_msix_other"
On 11/6/24 12:14, Wander Lairson Costa wrote:
> This reverts commit 338c4d3902feb5be49bfda530a72c7ab860e2c9f.
>
> Sebastian noticed the ISR indirectly acquires spin_locks, which are
> sleeping locks under PREEMPT_RT, which leads to kernel splats.
I don't like to slow things down, but it would be great to have a Link:
to the report, and the (minified) splat attached.
>
> Fixes: 338c4d3902feb ("igb: Disable threaded IRQ for igb_msix_other")
> Reported-by: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
> Signed-off-by: Wander Lairson Costa <wander@...hat.com>
>
> ---
>
> Changelog:
>
> v2: Add the Fixes tag
> Signed-off-by: Wander Lairson Costa <wander@...hat.com>
> ---
> drivers/net/ethernet/intel/igb/igb_main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
> index b83df5f94b1f5..f1d0881687233 100644
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -907,7 +907,7 @@ static int igb_request_msix(struct igb_adapter *adapter)
> int i, err = 0, vector = 0, free_vector = 0;
>
> err = request_irq(adapter->msix_entries[vector].vector,
> - igb_msix_other, IRQF_NO_THREAD, netdev->name, adapter);
> + igb_msix_other, 0, netdev->name, adapter);
> if (err)
> goto err_out;
>
Powered by blists - more mailing lists