Thread (13 messages) flat view 13 messages, 4 authors, 2021-05-07

Re: [igb] netconsole triggers warning in netpoll_poll_dev

From: Oleksandr Natalenko <hidden>
Date: 2021-04-23 08:19:49
Also in: intel-wired-lan, lkml

Hello.

On Wed, Apr 07, 2021 at 04:06:29PM -0700, Alexander Duyck wrote:
On Wed, Apr 7, 2021 at 11:07 AM Jakub Kicinski [off-list ref] wrote:
quoted
On Wed, 7 Apr 2021 09:25:28 -0700 Alexander Duyck wrote:
quoted
On Wed, Apr 7, 2021 at 8:37 AM Jakub Kicinski [off-list ref] wrote:
quoted
On Wed, 7 Apr 2021 08:00:53 +0200 Oleksandr Natalenko wrote:
quoted
Thanks for the effort, but reportedly [1] it made no difference,
unfortunately.

[1] https://bugzilla.kernel.org/show_bug.cgi?id=212573#c8
The only other option I see is that somehow the NAPI has no rings.
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index a45cd2b416c8..24568adc2fb1 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -7980,7 +7980,7 @@ static int igb_poll(struct napi_struct *napi, int budget)
        struct igb_q_vector *q_vector = container_of(napi,
                                                     struct igb_q_vector,
                                                     napi);
-       bool clean_complete = true;
+       bool clean_complete = q_vector->tx.ring || q_vector->rx.ring;
        int work_done = 0;

 #ifdef CONFIG_IGB_DCA
It might make sense to just cast the work_done as a unsigned int, and
then on the end of igb_poll use:
  return min_t(unsigned int, work_done, budget - 1);
Sure, that's simplest. I wasn't sure something is supposed to prevent
this condition or if it's okay to cover it up.
I'm pretty sure it is okay to cover it up. In this case the "budget -
1" is supposed to be the upper limit on what can be reported. I think
it was assuming an unsigned value anyway.

Another alternative would be to default clean_complete to !!budget.
Then if budget is 0 clean_complete would always return false.
So, among all the variants, which one to try? Or there was a separate
patch sent to address this?

Thanks.

-- 
  Oleksandr Natalenko (post-factum)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help