diff options
| author | Toke Høiland-Jørgensen <[email protected]> | 2024-12-11 10:17:09 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2024-12-13 01:32:23 +0000 |
| commit | a42d71e322a8066dcfa228ce8529bb073c521ae9 (patch) | |
| tree | d1a98a5bd2710b463359cf4169408bf6881239eb /net/core/page_pool.c | |
| parent | Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (diff) | |
| download | kernel-a42d71e322a8066dcfa228ce8529bb073c521ae9.tar.gz kernel-a42d71e322a8066dcfa228ce8529bb073c521ae9.zip | |
net_sched: sch_cake: Add drop reasons
Add three qdisc-specific drop reasons and use them in sch_cake:
1) SKB_DROP_REASON_QDISC_OVERLIMIT
Whenever the total queue limit for a qdisc instance is exceeded
and a packet is dropped to make room.
2) SKB_DROP_REASON_QDISC_CONGESTED
Whenever a packet is dropped by the qdisc AQM algorithm because
congestion is detected.
3) SKB_DROP_REASON_CAKE_FLOOD
Whenever a packet is dropped by the flood protection part of the
CAKE AQM algorithm (BLUE).
Also use the existing SKB_DROP_REASON_QUEUE_PURGE in cake_clear_tin().
Reasons show up as:
perf record -a -e skb:kfree_skb sleep 1; perf script
iperf3 665 [005] 848.656964: skb:kfree_skb: skbaddr=0xffff98168a333500 rx_sk=(nil) protocol=34525 location=__dev_queue_xmit+0x10f0 reason: QDISC_OVERLIMIT
swapper 0 [001] 909.166055: skb:kfree_skb: skbaddr=0xffff98168280cee0 rx_sk=(nil) protocol=34525 location=cake_dequeue+0x5ef reason: QDISC_CONGESTED
Reviewed-by: Eric Dumazet <[email protected]>
Reviewed-by: Jamal Hadi Salim <[email protected]>
Acked-by: Dave Taht <[email protected]>
Signed-off-by: Toke Høiland-Jørgensen <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'net/core/page_pool.c')
0 files changed, 0 insertions, 0 deletions
