[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b5120c1e-4312-40da-8c11-c0af035dbbb5@intel.com>
Date: Thu, 5 Sep 2024 09:16:01 +0300
From: "Ruinskiy, Dima" <dima.ruinskiy@...el.com>
To: Tony Nguyen <anthony.l.nguyen@...el.com>, <davem@...emloft.net>,
<kuba@...nel.org>, <pabeni@...hat.com>, <edumazet@...gle.com>,
<netdev@...r.kernel.org>
CC: Kurt Kanzenbach <kurt@...utronix.de>, <sasha.neftin@...el.com>,
<vitaly.lifshits@...el.com>, <maciej.fijalkowski@...el.com>,
<magnus.karlsson@...el.com>, <ast@...nel.org>, <daniel@...earbox.net>,
<hawk@...nel.org>, <john.fastabend@...il.com>, <bpf@...r.kernel.org>,
<bigeasy@...utronix.de>, Vinicius Costa Gomes <vinicius.gomes@...el.com>,
Simon Horman <horms@...nel.org>, Mor Bar-Gabay <morx.bar.gabay@...el.com>
Subject: Re: [PATCH net-next 2/6] igc: Get rid of spurious interrupts
On 31/08/2024 0:04, Tony Nguyen wrote:
> - wr32(IGC_ICS, IGC_ICS_RXDMT0);
> + struct igc_ring *rx_ring = adapter->rx_ring[0];
> +
> + if (test_bit(IGC_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags)) {
> + clear_bit(IGC_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags);
> + wr32(IGC_ICS, IGC_ICS_RXDMT0);
> + }
I have some concerns specifically about this code (Legacy/MSI interrupt
case). The code only checks the IGC_RING_FLAG_RX_ALLOC_FAILED flag of
ring 0. What if the failure was on another ring? It seems proper to
iterate over all Rx rings in the adapter (I believe igc can have up to 4).
Powered by blists - more mailing lists