diff options
| author | 2025-11-21 08:32:52 +0000 | |
|---|---|---|
| committer | 2025-11-25 16:10:32 +0100 | |
| commit | b2e9821cff6c3c9ac107fce5327070f4462bf8a7 (patch) | |
| tree | 87ea18a757acf651c8394ca6b90c80963e009a83 /net/core/dev.c | |
| parent | net_sched: sch_fq: prefetch one skb ahead in dequeue() (diff) | |
| download | wireguard-linux-b2e9821cff6c3c9ac107fce5327070f4462bf8a7.tar.xz wireguard-linux-b2e9821cff6c3c9ac107fce5327070f4462bf8a7.zip | |
net: prefech skb->priority in __dev_xmit_skb()
Most qdiscs need to read skb->priority at enqueue time().
In commit 100dfa74cad9 ("net: dev_queue_xmit() llist adoption")
I added a prefetch(next), lets add another one for the second
half of skb.
Note that skb->priority and skb->hash share a common cache line,
so this patch helps qdiscs needing both fields.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20251121083256.674562-11-edumazet@google.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to '')
| -rw-r--r-- | net/core/dev.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index e19eb4e9d77c..53e2496dc429 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -4246,6 +4246,7 @@ no_lock_out: llist_for_each_entry_safe(skb, next, ll_list, ll_node) { prefetch(next); + prefetch(&next->priority); skb_mark_not_on_list(skb); rc = dev_qdisc_enqueue(skb, q, &to_free, txq); count++; |
