All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Lobakin <alobakin@dlink.ru>
To: David Miller <davem@davemloft.net>
Cc: ecree@solarflare.com, jiri@mellanox.com, edumazet@google.com,
	idosch@mellanox.com, pabeni@redhat.com, petrm@mellanox.com,
	sd@queasysnail.net, f.fainelli@gmail.com,
	jaswinder.singh@linaro.org, manishc@marvell.com,
	GR-Linux-NIC-Dev@marvell.com, johannes.berg@intel.com,
	emmanuel.grumbach@intel.com, luciano.coelho@intel.com,
	linuxwifi@intel.com, kvalo@codeaurora.org,
	nicholas.johnson-opensource@outlook.com.au, kenny@panix.com,
	netdev@vger.kernel.org, linux-wireless@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH net] net: wireless: intel: iwlwifi: fix GRO_NORMAL packet stalling
Date: Wed, 27 Nov 2019 22:28:57 +0300	[thread overview]
Message-ID: <717aa19f01da2bc36fd22343bbbc39f7@dlink.ru> (raw)
In-Reply-To: <20191127.112310.1018809619618803508.davem@davemloft.net>

David Miller wrote 27.11.2019 22:23:
> From: Alexander Lobakin <alobakin@dlink.ru>
> Date: Wed, 27 Nov 2019 12:41:23 +0300
> 
>> Commit 6570bc79c0df ("net: core: use listified Rx for GRO_NORMAL in
>> napi_gro_receive()") has applied batched GRO_NORMAL packets processing
>> to all napi_gro_receive() users, including mac80211-based drivers.
>> 
>> However, this change has led to a regression in iwlwifi driver [1][2] 
>> as
>> it is required for NAPI users to call napi_complete_done() or
>> napi_complete() and the end of every polling iteration, whilst iwlwifi
>> doesn't use NAPI scheduling at all and just calls napi_gro_flush().
>> In that particular case, packets which have not been already flushed
>> from napi->rx_list stall in it until at least next Rx cycle.
>> 
>> Fix this by adding a manual flushing of the list to iwlwifi driver 
>> right
>> before napi_gro_flush() call to mimic napi_complete() logics.
>> 
>> I prefer to open-code gro_normal_list() rather than exporting it for 2
>> reasons:
>> * to prevent from using it and napi_gro_flush() in any new drivers,
>>   as it is the *really* bad way to use NAPI that should be avoided;
>> * to keep gro_normal_list() static and don't lose any CC 
>> optimizations.
>> 
>> I also don't add the "Fixes:" tag as the mentioned commit was only a
>> trigger that only exposed an improper usage of NAPI in this particular
>> driver.
>> 
>> [1] 
>> https://lore.kernel.org/netdev/PSXP216MB04388962C411CD0B17A86F47804A0@PSXP216MB0438.KORP216.PROD.OUTLOOK.COM
>> [2] https://bugzilla.kernel.org/show_bug.cgi?id=205647
>> 
>> Signed-off-by: Alexander Lobakin <alobakin@dlink.ru>
> 
> Applied, thanks for the quick turnaround.

Thank you all folks!

Regards,
ᚷ ᛖ ᚢ ᚦ ᚠ ᚱ

      reply	other threads:[~2019-11-27 19:29 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-27  9:41 [PATCH net] net: wireless: intel: iwlwifi: fix GRO_NORMAL packet stalling Alexander Lobakin
2019-11-27  9:58 ` Luciano Coelho
2019-11-27 10:12   ` Alexander Lobakin
     [not found]     ` <PSXP216MB0438B2F163C635F8B8B4AD8AA4440@PSXP216MB0438.KORP216.PROD.OUTLOOK.COM>
2019-11-27 10:29       ` Alexander Lobakin
2019-11-27 11:16         ` Nicholas Johnson
2019-11-27 11:44           ` Alexander Lobakin
2019-11-27 13:38           ` Kalle Valo
2019-11-27 16:05 ` Edward Cree
2019-11-27 16:31   ` Alexander Lobakin
2019-11-27 19:23 ` David Miller
2019-11-27 19:28   ` Alexander Lobakin [this message]

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=717aa19f01da2bc36fd22343bbbc39f7@dlink.ru \
    --to=alobakin@dlink.ru \
    --cc=GR-Linux-NIC-Dev@marvell.com \
    --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=jaswinder.singh@linaro.org \
    --cc=jiri@mellanox.com \
    --cc=johannes.berg@intel.com \
    --cc=kenny@panix.com \
    --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=manishc@marvell.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.