Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751697AbXBVQsu (ORCPT ); Thu, 22 Feb 2007 11:48:50 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751704AbXBVQst (ORCPT ); Thu, 22 Feb 2007 11:48:49 -0500 Received: from smtp4-g19.free.fr ([212.27.42.30]:57424 "EHLO smtp4-g19.free.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751697AbXBVQst (ORCPT ); Thu, 22 Feb 2007 11:48:49 -0500 Message-ID: <45DDC97F.7000602@free.fr> Date: Thu, 22 Feb 2007 17:49:03 +0100 From: John User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.8) Gecko/20061108 SeaMonkey/1.0.6 MIME-Version: 1.0 To: tglx@linutronix.de CC: Andrew Morton , Ingo Molnar , john stultz , Roman Zippel , Mike Galbraith , Ken Chen , balducci@units.it, Greg KH , linux-kernel@vger.kernel.org, linux.kernel@free.fr Subject: Re: [PATCH] Fix posix-cpu-timer breakage caused by stale p->last_ran value References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1575 Lines: 45 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 > > 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/