Frederic Weisbecker edited this page Oct 29, 2013 · 21 revisions
Clone this wiki locally
  • Ensure irq work use self-IPIs and not hooks on the timer tick (per arch property, should be a Kconfig). ARM currently misses this, fix in the way:

  • Support rq->cpu_load. Its decaying supports well dynticks idle but doesn't work buzy dynticks. Some attempt to solve that, see

  • Update rq->rt_avg decaying

  • Update rq->calc_load_active

  • Revisit the idle load balancing logic to make it working with adaptive tickless kernels.

  • Add some automated debugging checks that ensure we are not dealing with stale rq clock values due to missing update_rq_clock() calls. We have some accessors like rq_clock() and rq_clock_task() that we can fill up with stale timestamp check. We need to mark the scheduler entrypoints that may end up using the rq clock though. This is a broader concern that just full dynticks, of course the periodic tick lowers the impact of a stale clock.

  • We could shut down the tick even when more than one tasks are running using hrtick for preemption. But peterz said it's a bit broken and can be costly due to frequent writes on the hardware clock. That needs testing I think. This may be a win compared to keeping the periodic tick.