From: patchwork-bot+netdevbpf@kernel.org
To: Wei Wang <weiwan@google.com>
Cc: davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org,
micron10@gmail.com, alexanderduyck@fb.com, edumazet@google.com,
pabeni@redhat.com, hannes@stressinduktion.org
Subject: Re: [PATCH net v4] net: fix race between napi kthread mode and busy poll
Date: Wed, 17 Mar 2021 21:50:08 +0000 [thread overview]
Message-ID: <161601780806.9052.16136317962549586493.git-patchwork-notify@kernel.org> (raw)
In-Reply-To: <20210316223647.4080796-1-weiwan@google.com>
Hello:
This patch was applied to netdev/net.git (refs/heads/master):
On Tue, 16 Mar 2021 15:36:47 -0700 you wrote:
> Currently, napi_thread_wait() checks for NAPI_STATE_SCHED bit to
> determine if the kthread owns this napi and could call napi->poll() on
> it. However, if socket busy poll is enabled, it is possible that the
> busy poll thread grabs this SCHED bit (after the previous napi->poll()
> invokes napi_complete_done() and clears SCHED bit) and tries to poll
> on the same napi. napi_disable() could grab the SCHED bit as well.
> This patch tries to fix this race by adding a new bit
> NAPI_STATE_SCHED_THREADED in napi->state. This bit gets set in
> ____napi_schedule() if the threaded mode is enabled, and gets cleared
> in napi_complete_done(), and we only poll the napi in kthread if this
> bit is set. This helps distinguish the ownership of the napi between
> kthread and other scenarios and fixes the race issue.
>
> [...]
Here is the summary with links:
- [net,v4] net: fix race between napi kthread mode and busy poll
https://git.kernel.org/netdev/net/c/cb038357937e
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
next prev parent reply other threads:[~2021-03-17 21:51 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-16 22:36 [PATCH net v4] net: fix race between napi kthread mode and busy poll Wei Wang
2021-03-17 18:58 ` Jakub Kicinski
2021-03-17 21:50 ` patchwork-bot+netdevbpf [this message]
2021-03-20 8:45 ` Martin Zaharinov
2021-03-20 9:55 ` Eric Dumazet
2021-03-20 10:31 ` Martin Zaharinov
2021-03-30 9:25 ` Martin Zaharinov
2021-03-30 13:39 ` Eric Dumazet
2021-04-10 11:22 ` Bug Report Napi GRO ixgbe Martin Zaharinov
2021-04-12 8:36 ` Paolo Abeni
2021-04-26 8:31 ` Martin Zaharinov
2021-05-08 10:48 ` Bug Report Napi kthread rcd Martin Zaharinov
2021-05-09 10:40 ` Bug Report Napi GRO ixgbe Martin Zaharinov
2021-09-09 11:18 ` [PATCH net v4] net: fix race between napi kthread mode and busy poll Martin Zaharinov
2021-09-10 0:30 ` Wei Wang
2021-09-10 1:57 ` Martin Zaharinov
2021-09-15 14:22 ` Martin Zaharinov
2021-09-15 15:45 ` Wei Wang
2021-09-15 20:57 ` Martin Zaharinov
2021-09-22 14:12 ` Martin Zaharinov
2021-09-23 20:31 ` Martin Zaharinov
2021-09-24 0:54 ` Wei Wang
2021-09-24 6:18 ` Martin Zaharinov
2021-09-24 16:42 ` Wei Wang
[not found] ` <CALidq=V5O6oco+JRWbdKZ4pUXzZOoaUJCu_yCh55M_ccA_6QYQ@mail.gmail.com>
2021-09-24 16:57 ` Wei Wang
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=161601780806.9052.16136317962549586493.git-patchwork-notify@kernel.org \
--to=patchwork-bot+netdevbpf@kernel.org \
--cc=alexanderduyck@fb.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hannes@stressinduktion.org \
--cc=kuba@kernel.org \
--cc=micron10@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=weiwan@google.com \
/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.