diff options
| author | 2020-11-24 18:49:28 +0800 | |
|---|---|---|
| committer | 2020-11-25 15:08:34 -0800 | |
| commit | 8b5536ad1216c47fb9b37ef2cd0cfa70d79d4645 (patch) | |
| tree | 501780f646449de753cb071f3b6bc6908961a5b4 /drivers/net/dsa/microchip/ksz_common.c | |
| parent | soc: qcom: ipa: Constify static qmi structs (diff) | |
| download | linux-dev-8b5536ad1216c47fb9b37ef2cd0cfa70d79d4645.tar.xz linux-dev-8b5536ad1216c47fb9b37ef2cd0cfa70d79d4645.zip | |
lockdep: Introduce in_softirq lockdep assert
The current semantic for napi_consume_skb() is that caller need
to provide non-zero budget when calling from NAPI context, and
breaking this semantic will cause hard to debug problem, because
_kfree_skb_defer() need to run in atomic context in order to push
the skb to the particular cpu' napi_alloc_cache atomically.
So add the lockdep_assert_in_softirq() to assert when the running
context is not in_softirq, in_softirq means softirq is serving or
BH is disabled, which has a ambiguous semantics due to the BH
disabled confusion, so add a comment to emphasize that.
And the softirq context can be interrupted by hard IRQ or NMI
context, lockdep_assert_in_softirq() need to assert about hard
IRQ or NMI context too.
Suggested-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/dsa/microchip/ksz_common.c')
0 files changed, 0 insertions, 0 deletions
