[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <163212780735.18640.4066785038039010628.git-patchwork-notify@kernel.org>
Date: Mon, 20 Sep 2021 08:50:07 +0000
From: patchwork-bot+netdevbpf@...nel.org
To: Xuan Zhuo <xuanzhuo@...ux.alibaba.com>
Cc: netdev@...r.kernel.org, linyunsheng@...wei.com,
davem@...emloft.net, kuba@...nel.org, edumazet@...gle.com,
daniel@...earbox.net, atenart@...nel.org, alobakin@...me,
weiwan@...gle.com, ap420073@...il.com, bjorn@...nel.org,
arnd@...db.de, memxor@...il.com, nhorman@...hat.com,
dust.li@...ux.alibaba.com
Subject: Re: [PATCH net v2] napi: fix race inside napi_enable
Hello:
This patch was applied to netdev/net.git (refs/heads/master):
On Sat, 18 Sep 2021 16:52:32 +0800 you wrote:
> The process will cause napi.state to contain NAPI_STATE_SCHED and
> not in the poll_list, which will cause napi_disable() to get stuck.
>
> The prefix "NAPI_STATE_" is removed in the figure below, and
> NAPI_STATE_HASHED is ignored in napi.state.
>
> CPU0 | CPU1 | napi.state
> ===============================================================================
> napi_disable() | | SCHED | NPSVC
> napi_enable() | |
> { | |
> smp_mb__before_atomic(); | |
> clear_bit(SCHED, &n->state); | | NPSVC
> | napi_schedule_prep() | SCHED | NPSVC
> | napi_poll() |
> | napi_complete_done() |
> | { |
> | if (n->state & (NPSVC | | (1)
> | _BUSY_POLL))) |
> | return false; |
> | ................ |
> | } | SCHED | NPSVC
> | |
> clear_bit(NPSVC, &n->state); | | SCHED
> } | |
> | |
> napi_schedule_prep() | | SCHED | MISSED (2)
>
> [...]
Here is the summary with links:
- [net,v2] napi: fix race inside napi_enable
https://git.kernel.org/netdev/net/c/3765996e4f0b
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
Powered by blists - more mailing lists