History

net_sched: sch_fq: add dctcp-like marking

Similar to 80ba92fa1a92 ("codel: add ce_threshold attribute") After EDT adoption, it became easier to implement DCTCP-like CE marking. In many cases, queues are not building in the network fabric but on the hosts themselves. If packets leaving fq missed their Earliest Departure Time by XXX usec, we mark them with ECN CE. This gives a feedback (after one RTT) to the sender to slow down and find better operating mode. Example : tc qd replace dev eth0 root fq ce_threshold 2.5ms

Eric Dumazet committed 8 years ago

Commit 48872c11 parent c73e5802 files · +24 −0Browse files

Showing the changes to include/uapi/linux (1 of 2 files). Show all

Unified · Split

include/uapi/linux/pkt_sched.h+3−0
@@ -864,6 +864,8 @@ enum { · 863 unmodified lines
864 864
865 TCA_FQ_LOW_RATE_THRESHOLD, /* per packet delay under this rate */865 TCA_FQ_LOW_RATE_THRESHOLD, /* per packet delay under this rate */
866 866
867 TCA_FQ_CE_THRESHOLD, /* DCTCP-like CE-marking threshold */
868
867 __TCA_FQ_MAX869 __TCA_FQ_MAX
868};870};
869 871
@@ -882,6 +884,7 @@ struct tc_fq_qd_stats { · 12 unmodified lines
882 __u32 inactive_flows;884 __u32 inactive_flows;
883 __u32 throttled_flows;885 __u32 throttled_flows;
884 __u32 unthrottle_latency_ns;886 __u32 unthrottle_latency_ns;
887 __u64 ce_mark; /* packets above ce_threshold */
885};888};
886 889
887/* Heavy-Hitter Filter */890/* Heavy-Hitter Filter */