Messages in this thread | | | Date | Thu, 22 Feb 2007 17:49:03 +0100 | From | John <> | Subject | Re: [PATCH] Fix posix-cpu-timer breakage caused by stale p->last_ran value |
| |
Thomas Gleixner wrote:
> Problem description at: > http://bugzilla.kernel.org/show_bug.cgi?id=8048 > > Commit b18ec80396834497933d77b81ec0918519f4e2a7 > [PATCH] sched: improve migration accuracy > optimized the scheduler time calculations, but broke posix-cpu-timers. > > The problem is that the p->last_ran value is not updated after a context > switch. So a subsequent call to current_sched_time() calculates with a > stale p->last_ran value, i.e. accounts the full time, which the task was > scheduled away.
Could you expand on the impact of this bug for non-kernel hackers? :-)
I'm currently testing 2.6.20-rt5. My app runs in SCHED_RR and just blocks waiting for several signals. Since my app is the only SCHED_RR process running on the system, I get the impression that I'm not affected by this bug. Is that correct?
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> > > Index: linux-2.6/kernel/sched.c > =================================================================== > --- linux-2.6.orig/kernel/sched.c > +++ linux-2.6/kernel/sched.c > @@ -3566,7 +3566,7 @@ switch_tasks: > > sched_info_switch(prev, next); > if (likely(prev != next)) { > - next->timestamp = now; > + next->timestamp = next->last_ran = now; > rq->nr_switches++; > rq->curr = next; > ++*switch_count;
Regards,
John - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |