Prev: [tip:x86/cpu] x86, cpu: Clean up AMD erratum 400 workaround
Next: [PATCH] Intel MID platform battery driver.
From: Peter Zijlstra on 17 Jun 2010 13:20 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(). -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: sebastiano spicuglia on 17 Jun 2010 14:00
Hi Ingo, I made many progress. But I have two doubts yet. First: what does hrtick_start do? I think that: if I call hrtick_start(rq, 500) then, after 500ns, the task_tick function will be invocated. Is it right? Second: if my schedule_class decides to preempt the current task, it has to call resched_task(rq->curr). Is it right? Thanks in advance. Kind Regards. Sebastiano. On Tue, May 25, 2010 at 9:11 AM, Ingo Molnar <mingo(a)elte.hu> wrote: > > Hi, > > * sebastiano.spicuglia(a)mail.polimi.it <sebastiano.spicuglia(a)mail.polimi.it> wrote: > >> Hi Ingo, >> >> excuse me for contacting you in this way. >> I don't want hurt you. >> I am implementing a new schedule class for my bachelor >> project degree at Politecnico di Milano. >> I experienced many problems but sometimes the kernel starts. >> The main problem is the documentation. >> Could you explain me when sched.c calls sched_class functions ( >> enqueue_task, dequeue_task, etc... ) >> and what sched_class functions should do? >> My reverse engineering skills don't work very well and >> in internet there are not many information about this and >> however they are generic and incomplete. >> >> I am working with version 2.6.34. > > There's a couple of files in Documentation/sched/ which give a high-level > description - but some of that info is outdated. Most of the documentation is > the code itself, as usual ;-) > > If you have any questions, please also Cc: lkml and Peter Zijstra > (co-maintainer of the scheduler): > > �Peter Zijlstra <a.p.zijlstra(a)chello.nl> > > Thanks, > > � � � �Ingo > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |