Messages in this thread | | | Date | Wed, 9 Jun 2021 14:18:32 +0200 | From | Frederic Weisbecker <> | Subject | Re: [PATCH 2/6] posix-cpu-timers: Don't start process wide cputime counter if timer is disabled |
| |
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...
| |