History

net_sched: sch_fq: add the ability to offload pacing

Some network devices have the ability to offload EDT (Earliest Departure Time) which is the model used for TCP pacing and FQ packet scheduler. Some of them implement the timing wheel mechanism described in https://saeed.github.io/files/carousel-sigcomm17.pdf with an associated 'timing wheel horizon'. This patchs adds to FQ packet scheduler TCA_FQ_OFFLOAD_HORIZON attribute. Its value is capped by the device max_pacing_offload_horizon, added in the prior patch. It allows FQ to let packets within pacing offload horizon to be delivered to the device, which will handle the needed delay without host involvement.

Jeffrey Ji committed 2 years ago

Commit f26080d1 parent f858cc92 files · +29 −6Browse files

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

Unified · Split

include/uapi/linux/pkt_sched.h+2−0
@@ -836,6 +836,8 @@ enum { · 835 unmodified lines
836836
837837 TCA_FQ_WEIGHTS, /* Weights for each band */
838838
839+ TCA_FQ_OFFLOAD_HORIZON, /* dequeue paced packets within this horizon immediately (us units) */
840+
839841 __TCA_FQ_MAX
840842 };
841843