Messages in this thread | | | Date | Mon, 10 Aug 2015 16:16:58 +0200 | From | Frederic Weisbecker <> | Subject | Re: [PATCH 07/10] sched: Migrate sched to use new tick dependency mask model |
| |
On Mon, Aug 10, 2015 at 03:02:04PM +0100, Juri Lelli wrote: > Hi, > > On 04/08/15 08:41, Peter Zijlstra wrote: > > On Mon, Aug 03, 2015 at 07:30:32PM +0200, Frederic Weisbecker wrote: > >>> But you've forgotten about SCHED_DEADLINE, we count those in: > >>> rq->dl.dl_nr_running. > >> > >> Indeed. Hmm, there is no preemption between SCHED_DEALINE tasks, right? > >> So I can treat it like SCHED_FIFO. > > > > Sadly no. Even though EDF has static job priority (once a job is > > activated its priority doesn't change anymore) DEADLINE also has a CBS > > component and that needs the tick regardless, even with a single task. > > > > So any deadline task running means we cannot stop the tick. > > Well, couldn't we stop it when we use hrtick? As start_hrtick_dl() sets > the hrtick to fire at tasks runtime depletion instant.
Hrtick() only does the task tick part of scheduler_tick(). There are many other things that need to be updated. Cpu load active (which is buggy with full dynticks btw. because __update_cpu_load() expects nothing else than regular frequency updates or idle decay. There is also calc_global_load(), load balancing stuffs.
I considered many times relying on hrtick btw but everyone seem to say it has a lot of overhead, especially due to clock reprogramming on schedule() calls.
| |