[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