Messages in this thread | | | Subject | Re: Sched_class documentation | From | Peter Zijlstra <> | Date | Thu, 17 Jun 2010 19:13:08 +0200 |
| |
On Thu, 2010-06-17 at 19:02 +0200, sebastiano spicuglia wrote: > Hi Ingo, > > I made many progress. But I have two doubts yet. > First: what does hrtick_start do?
higher resolution ticks
> I think that: if I call hrtick_start(rq, 500) then, after 500ns, the > task_tick function will be invocated. > Is it right?
Yep, instead of waiting for the next system tick is programs a hrtimer to deliver it -- its disabled by default though, since programming timers is rather expensive :/
> Second: if my schedule_class decides to preempt the current task, it > has to call resched_task(rq->curr). > Is it right?
Either that or resched_cpu(), depending on which is most convenient.
It sets TIF_RESCHED and possibly IPIs the remote CPU. The TIF flag is then observed (on re-entry to userspace in case of the IPI) and we call into schedule().
| |