lkml.org 
[lkml]   [2021]   [Sep]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Regression in posix-cpu-timers.c (was Re: Linux 5.14.4)
On Wed, Sep 15, 2021 at 06:45:33PM +0100, Alan J. Wylie wrote:
> 564005805aadec9cb7e5dc4e14071b8f87cd6b58 is the first bad commit
> commit 564005805aadec9cb7e5dc4e14071b8f87cd6b58
> Author: Frederic Weisbecker <frederic@kernel.org>
> Date: Mon Jul 26 14:55:10 2021 +0200
>
> posix-cpu-timers: Force next expiration recalc after itimer reset
>
> [ Upstream commit 406dd42bd1ba0c01babf9cde169bb319e52f6147 ]
>
> When an itimer deactivates a previously armed expiration, it simply doesn't
> do anything. As a result the process wide cputime counter keeps running and
> the tick dependency stays set until it reaches the old ghost expiration
> value.
>
> This can be reproduced with the following snippet:
>
> void trigger_process_counter(void)
> {
> struct itimerval n = {};
>
> n.it_value.tv_sec = 100;
> setitimer(ITIMER_VIRTUAL, &n, NULL);
> n.it_value.tv_sec = 0;
> setitimer(ITIMER_VIRTUAL, &n, NULL);
> }
>
> Fix this with resetting the relevant base expiration. This is similar to
> disarming a timer.
>
> Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> Link: https://lore.kernel.org/r/20210726125513.271824-4-frederic@kernel.org
> Signed-off-by: Sasha Levin <sashal@kernel.org>
>

Right, this should fix the issue: https://lore.kernel.org/lkml/20210913145332.232023-1-frederic@kernel.org/

Thanks!

\
 
 \ /
  Last update: 2021-09-15 20:33    [W:0.120 / U:2.572 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site