Messages in this thread | | | From | Andi Kleen <> | Subject | Re: [RFC 3/4] Disable scheduler tick when we are running SCHED_FIFO tasks | Date | Wed, 08 Sep 2010 19:11:53 +0200 |
| |
Jan Blunck <jblunck@novell.com> writes:
> On Wed, Sep 08, Peter Zijlstra wrote: > >> On Wed, 2010-09-08 at 14:29 +0200, Jan Blunck wrote: >> > This patch is disabling the scheduler tick to go off when there is a task >> > with SCHED_FIFO policy running. Since these tasks are not timesliced anyway >> > we only care about timers, softirqs and such stuff just like when we disable >> > the tick during idle periods. >> > >> >> Also, doesn't this break any and all jiffies users? >> > > Sure. It was enough to make FTQ run. > >> And you need to restart the tick on call_rcu() and everything else that >> requires the tick for processing. >> > > I realized that before as well but somehow forgot about it. Checking for a > disabled timer tick on syscall entry would help. Like we do on irq entry as > well.
That doesn't help the gettimeofday/clock_gettime vDSOs which access jiffie like state in user space.
I guess you could force the vdso to call into the kernel during such a region, but you cannot force it for an process that is already context switched in this path when the option is first enabled.
I guess it would work if you force all the vDSOs to always do a system call at boot, but that's pretty costly.
-Andi
-- ak@linux.intel.com -- Speaking for myself only.
| |