All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Lobakin <alobakin@dlink.ru>
To: Edward Cree <ecree@solarflare.com>
Cc: Paolo Abeni <pabeni@redhat.com>,
	Johannes Berg <johannes@sipsolutions.net>,
	Nicholas Johnson <nicholas.johnson-opensource@outlook.com.au>,
	David Miller <davem@davemloft.net>,
	jiri@mellanox.com, edumazet@google.com, idosch@mellanox.com,
	petrm@mellanox.com, sd@queasysnail.net, f.fainelli@gmail.com,
	jaswinder.singh@linaro.org, ilias.apalodimas@linaro.org,
	linux-kernel@vger.kernel.org, emmanuel.grumbach@intel.com,
	luciano.coelho@intel.com, linuxwifi@intel.com,
	kvalo@codeaurora.org, netdev@vger.kernel.org,
	linux-wireless@vger.kernel.org
Subject: Re: [PATCH v2 net-next] net: core: use listified Rx for GRO_NORMAL in napi_gro_receive()
Date: Mon, 25 Nov 2019 16:39:55 +0300	[thread overview]
Message-ID: <6ff190a3b00aae0a9b9388f60791528a@dlink.ru> (raw)
In-Reply-To: <e437dc2d-aff3-2893-8d80-6abae4fcb84a@solarflare.com>

Edward Cree wrote 25.11.2019 16:21:
> On 25/11/2019 12:02, Alexander Lobakin wrote:
>> I'm not very familiar with iwlwifi, but as a work around manual
>> napi_gro_flush() you can also manually flush napi->rx_list to
>> prevent packets from stalling:
>> 
>> diff -Naur a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c 
>> b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c
>> --- a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c    2019-11-25 
>> 14:55:03.610355230 +0300
>> +++ b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c    2019-11-25 
>> 14:57:29.399556868 +0300
>> @@ -1526,8 +1526,16 @@
>>      if (unlikely(emergency && count))
>>          iwl_pcie_rxq_alloc_rbs(trans, GFP_ATOMIC, rxq);
>> 
>> -    if (rxq->napi.poll)
>> +    if (rxq->napi.poll) {
>> +        if (rxq->napi.rx_count) {
>> +            netif_receive_skb_list(&rxq->napi.rx_list);
>> +
>> +            INIT_LIST_HEAD(&rxq->napi.rx_list);
>> +            rxq->napi.rx_count = 0;
>> +        }
>> +
>>          napi_gro_flush(&rxq->napi, false);
>> +    }
>> 
>>      iwl_pcie_rxq_restock(trans, rxq);
>>  }
> ... or we could export gro_normal_list(), instead of open-coding it
>  in the driver?

I thought about this too, but don't like it. This patch is proposed as
a *very* temporary solution until iwlwifi will get more straightforward
logic. I wish we could make napi_gro_flush() static in the future and
keep gro_normal_list() private to:

- prevent them from using in any new drivers;
- give more opportunity to CC to optimize the core code.

> 
> -Ed

Regards,
ᚷ ᛖ ᚢ ᚦ ᚠ ᚱ

  reply	other threads:[~2019-11-25 13:40 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-14  8:00 [PATCH v2 net-next] net: core: use listified Rx for GRO_NORMAL in napi_gro_receive() Alexander Lobakin
2019-10-16  1:16 ` David Miller
2019-10-16  7:31   ` Alexander Lobakin
2019-11-25  7:29     ` Nicholas Johnson
2019-11-25  7:54       ` Alexander Lobakin
2019-11-25  8:25         ` Alexander Lobakin
2019-11-25  9:09           ` Nicholas Johnson
2019-11-25 10:31             ` Edward Cree
2019-11-25 10:58               ` Alexander Lobakin
2019-11-25 11:05                 ` Johannes Berg
2019-11-25 11:42                   ` Paolo Abeni
2019-11-25 12:02                     ` Alexander Lobakin
2019-11-25 13:21                       ` Edward Cree
2019-11-25 13:39                         ` Alexander Lobakin [this message]
2019-11-26 23:57                       ` David Miller
2019-11-27  7:47                         ` Alexander Lobakin
2019-11-27  8:30                           ` Johannes Berg
2019-11-27  9:47                         ` Alexander Lobakin
2019-11-25 12:11                     ` Kalle Valo
2019-11-25 13:07                     ` Nicholas Johnson
2019-11-25 13:11               ` Nicholas Johnson
2020-06-24 21:06 ` Jason A. Donenfeld
2020-06-24 21:28   ` Jason A. Donenfeld
2020-06-25 14:25   ` Edward Cree

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6ff190a3b00aae0a9b9388f60791528a@dlink.ru \
    --to=alobakin@dlink.ru \
    --cc=davem@davemloft.net \
    --cc=ecree@solarflare.com \
    --cc=edumazet@google.com \
    --cc=emmanuel.grumbach@intel.com \
    --cc=f.fainelli@gmail.com \
    --cc=idosch@mellanox.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=jaswinder.singh@linaro.org \
    --cc=jiri@mellanox.com \
    --cc=johannes@sipsolutions.net \
    --cc=kvalo@codeaurora.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linuxwifi@intel.com \
    --cc=luciano.coelho@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=nicholas.johnson-opensource@outlook.com.au \
    --cc=pabeni@redhat.com \
    --cc=petrm@mellanox.com \
    --cc=sd@queasysnail.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.