Messages in this thread | | | Date | Thu, 10 Jun 2021 12:24:11 +0200 | From | Frederic Weisbecker <> | Subject | Re: [PATCH 2/6] posix-cpu-timers: Don't start process wide cputime counter if timer is disabled |
| |
On Wed, Jun 09, 2021 at 02:18:34PM +0200, Frederic Weisbecker wrote: > On Fri, Jun 04, 2021 at 01:31:55PM +0200, Frederic Weisbecker wrote: > > If timer_settime() is called with a 0 expiration on a timer that is > > already disabled, the process wide cputime counter will be started > > and won't ever get a chance to be stopped by stop_process_timer() since > > no timer is actually armed to be processed. > > > > This process wide counter might bring some performance hit due to the > > concurrent atomic additions at the thread group scope. > > > > The following snippet is enough to trigger the issue. > > > > void trigger_process_counter(void) > > { > > timer_t id; > > struct itimerspec val = { }; > > > > timer_create(CLOCK_PROCESS_CPUTIME_ID, NULL, &id); > > timer_settime(id, TIMER_ABSTIME, &val, NULL); > > timer_delete(id); > > } > > > > So make sure we don't needlessly start it. > > > > Signed-off-by: Frederic Weisbecker <frederic@kernel.org> > > Cc: Oleg Nesterov <oleg@redhat.com> > > Cc: Thomas Gleixner <tglx@linutronix.de> > > Cc: Peter Zijlstra (Intel) <peterz@infradead.org> > > Cc: Ingo Molnar <mingo@kernel.org> > > Cc: Eric W. Biederman <ebiederm@xmission.com> > > No Fixes tag for this one. It has been there since year 1 AG. > > I suspect it's the same for most other commits in the series, checking...
Right, so only the first commit needs one.
Thanks.
| |