On Fri, May 10, 2013 at 8:17 PM, Frederic Weisbecker <fweis...@gmail.com> wrote: > On Mon, May 06, 2013 at 11:16:40PM -0400, Olivier Langlois wrote: >> On Tue, 2013-05-07 at 01:47 +0200, Frederic Weisbecker wrote: >> > On Fri, May 03, 2013 at 12:47:42AM -0400, kosaki.motoh...@gmail.com wrote: >> > > From: KOSAKI Motohiro <kosaki.motoh...@jp.fujitsu.com> >> > > >> > > When tsk->signal->cputimer->running is 1, signal->cputimer and >> > > tsk->sum_sched_runtime increase at the same pace because update_curr() >> > > increases both accounting. >> > > >> > > However, there is one exception. When thread exiting, __exit_signal() >> > > turns >> > > over task's sum_shced_runtime to sig->sum_sched_runtime, but it doesn't >> > > stop >> > > signal->cputimer accounting. >> > > >> > > This inconsistency makes POSIX timer wake up too early. This patch fixes >> > > it. >> > > >> > > Cc: Thomas Gleixner <t...@linutronix.de> >> > > Cc: Frederic Weisbecker <fweis...@gmail.com> >> > > Cc: Ingo Molnar <mi...@kernel.org> >> > > Acked-by: Peter Zijlstra <pet...@infradead.org> >> > > Signed-off-by: Olivier Langlois <oliv...@trillion01.com> >> > > Signed-off-by: KOSAKI Motohiro <kosaki.motoh...@jp.fujitsu.com> >> > > --- >> > > kernel/sched/stats.h | 7 +++++++ >> > > 1 files changed, 7 insertions(+), 0 deletions(-) >> > > >> > > diff --git a/kernel/sched/stats.h b/kernel/sched/stats.h >> > > index 2ef90a5..5a0cfc4 100644 >> > > --- a/kernel/sched/stats.h >> > > +++ b/kernel/sched/stats.h >> > > @@ -225,6 +225,13 @@ static inline void >> > > account_group_exec_runtime(struct task_struct *tsk, >> > > if (!cputimer->running) >> > > return; >> > > >> > > + /* >> > > + * After turning over se.sum_exec_runtime to sig->sum_sched_runtime >> > > + * in __exit_signal(), we must not account exec_runtime for >> > > consistency. >> > > + */ > > Please just precise the nature of that consistency: the fact we want > CLOCK_PROCESS_CPUTIME_ID > clock and timer to be consistent.
typo? This patch fixes an inconsistency between a thread cputime and a process cputime. How is this? /* * After turning over se.sum_exec_runtime to sig->sum_sched_runtime * in __exit_signal(), a per-thread cputime of the thread will be lost. We * must not account exec_runtime here too because we need to keep * consistent cputime between per-thread and per-process. Otherwise, * the inconsistency is observable when single thread program run. */ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/