Messages in this thread | | | Date | Fri, 12 Jun 2009 16:25:46 +0200 | From | Oleg Nesterov <> | Subject | Re: [RFC PATCH] posix-cpu-timers: optimize calling thread_group_cputime() |
| |
To clarify, I am not arguing against this patch, just a queston.
On 06/12, Stanislaw Gruszka wrote: > > On Fri, 12 Jun 2009 13:09:46 +0200 > Peter Zijlstra <a.p.zijlstra@chello.nl> wrote: > > > On Fri, 2009-06-12 at 12:39 +0200, Stanislaw Gruszka wrote: > > > - times->utime = cputime_add(times->utime, t->utime); > > > - times->stime = cputime_add(times->stime, t->stime); > > > - times->sum_exec_runtime += t->se.sum_exec_runtime; > > > + if (mask & TG_CPUCLOCK_UTIME) > > > + times->utime = cputime_add(times->utime, t->utime); > > > + if (mask & TG_CPUCLOCK_STIME) > > > + times->stime = cputime_add(times->stime, t->stime); > > > + if (mask & TG_CPUCLOCK_SCHED) > > > + times->sum_exec_runtime += t->se.sum_exec_runtime; > > > > Does adding 3 branches really make it faster? > Actually I did not any benchmarking yet, so I don't know what is the real > impact of the patch. I hope it make things taster but the result can be > opposite from my expectations.
I agree with Peter, if we complicate the code it would be nice to know this really makes it faster. Besides, thread_group_cputime() should not be called that often.
Perhaps it makes sense to turn ->running into bitmask though, this should "obviously" speed up account_group_xxx() helpers.
But in that case, perhaps stop_process_timers() should accept bitmask too? otherwise this doesn't look "complete".
Oleg.
| |