diff options
| author | Jakub Kicinski <[email protected]> | 2023-04-13 04:26:03 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2023-04-15 01:56:12 +0000 |
| commit | b07a2d97ba5ef154fe736aa510e43a3299eee5f8 (patch) | |
| tree | eed24e900219327c88caf4b5b5dafa29f74f0bc2 /net/core/page_pool.c | |
| parent | Merge branch 'msg_control-split' (diff) | |
| download | kernel-b07a2d97ba5ef154fe736aa510e43a3299eee5f8.tar.gz kernel-b07a2d97ba5ef154fe736aa510e43a3299eee5f8.zip | |
net: skb: plumb napi state thru skb freeing paths
We maintain a NAPI-local cache of skbs which is fed by napi_consume_skb().
Going forward we will also try to cache head and data pages.
Plumb the "are we in a normal NAPI context" information thru
deeper into the freeing path, up to skb_release_data() and
skb_free_head()/skb_pp_recycle(). The "not normal NAPI context"
comes from netpoll which passes budget of 0 to try to reap
the Tx completions but not perform any Rx.
Use "bool napi_safe" rather than bare "int budget",
the further we get from NAPI the more confusing the budget
argument may seem (particularly whether 0 or MAX is the
correct value to pass in when not in NAPI).
Reviewed-by: Tariq Toukan <[email protected]>
Tested-by: Dragos Tatulea <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'net/core/page_pool.c')
0 files changed, 0 insertions, 0 deletions
