Skip to content

: ktime clocksource + hrtimer

Patrick McHardy netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest10 patches 5 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/10: Use ktime as clocksourceinclude/net/pkt_sched.h kernel/hrtimer.c net/sched/Kconfig +2 more+19 -3150 replies
2/10: Add hrtimer based qdisc watchdoginclude/net/pkt_sched.h net/sched/sch_api.c+46 -00 replies
3/10: sch_hfsc: use hrtimer based watchdognet/sched/sch_hfsc.c+7 -250 replies
4/10: sch_tbf: use hrtimer based watchdognet/sched/sch_tbf.c+7 -240 replies
5/10: sch_netem: use hrtimer based watchdognet/sched/sch_netem.c+5 -200 replies
6/10: sch_cbq: use hrtimer based watchdognet/sched/sch_cbq.c+7 -210 replies
7/10: sch_cbq: fix cbq_undelay_prio for non-active prioritesnet/sched/sch_cbq.c+1 -10 replies
8/10: sch_cbq: use hrtimer for delay_timernet/sched/sch_cbq.c+41 -290 replies
9/10: sch_htb: use hrtimer based watchdognet/sched/sch_htb.c+31 -600 replies
10/10: kill jiffie conversion macrosinclude/net/pkt_sched.h net/sched/sch_hfsc.c net/sched/sch_htb.c+7 -100 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [NET_SCHED 00/10]: ktime clocksource + hrtimer

These patches convert the packet schedulers to use ktime as only clock source and kill off the manual clock source selection. Additionally all packet schedulers are converted to use hrtimer-based watchdogs, greatly increasing scheduling precision.

I've tested HFSC, HTB, TBF and netem. CBQ is untested since I never managed to get it running properly even without these patches.

I have a number of follow-up cleanup patches that get rid of most of the remaining PSCHED_* macros, I'll send them once these patches have been merged.

Please apply, thanks.

 include/net/pkt_sched.h |  182 ++++++------------------------------------------
 kernel/hrtimer.c        |    1 
 net/sched/Kconfig       |   56 --------------
 net/sched/sch_api.c     |  113 ++++++++++-------------------
 net/sched/sch_cbq.c     |  100 ++++++++++++--------------
 net/sched/sch_hfsc.c    |   75 ++++---------------
 net/sched/sch_htb.c     |   93 ++++++++----------------
 net/sched/sch_netem.c   |   25 +-----
 net/sched/sch_tbf.c     |   31 +-------
 9 files changed, 171 insertions(+), 505 deletions(-)

Patrick McHardy:
[NET_SCHED]: Use ktime as clocksource
[NET_SCHED]: Add hrtimer based qdisc watchdog [NET_SCHED]: sch_hfsc: use hrtimer based watchdog [NET_SCHED]: sch_tbf: use hrtimer based watchdog [NET_SCHED]: sch_netem: use hrtimer based watchdog [NET_SCHED]: sch_cbq: use hrtimer based watchdog [NET_SCHED]: sch_cbq: fix cbq_undelay_prio for non-active priorites [NET_SCHED]: sch_cbq: use hrtimer for delay_timer [NET_SCHED]: sch_htb: use hrtimer based watchdog [NET_SCHED]: kill jiffie conversion macros