[LITMUS^RT] Remove dependence on scheduler_tick() (WAS: 2014.2 release candidate)
Björn Brandenburg
bbb at mpi-sws.org
Tue Jun 3 20:13:36 CEST 2014
Yet more significant changes, which I'd like to roll into the next release as well.
https://github.com/LITMUS-RT/litmus-rt/compare/next...prop%2Fremove-scheduler-ticks
Context: LITMUS^RT has traditionally used the Linux scheduler tick to implement quantum-driven scheduling. With Linux's move to dynticks (i.e., suppressing the scheduler tick whenever possible), this approach is becoming increasingly brittle and will be eventually untenable. Further, it forces us to hook into kernel/sched/core.c more aggressively than needed, which complicates porting.
The patch series linked above fixes this by 1) making PFAIR independent of the scheduler tick by using custom hrtimers to mark quantum boundaries instead, which allows us to 2) completely remove the scheduler_tick() integration from LITMUS^RT.
This changes nothing for event-driven plugins (all EDF plugins and P-FP), and makes the Pfair plugin slightly more sane. On top, we now can configure arbitrary quantum lengths (modulo limitations imposed by hardware overheads; there's currently a safety threshold of 500us).
Unless there are problems, I'll incorporate these changes into the next release.
Thanks,
Björn
More information about the litmus-dev
mailing list