Re: Regression in posix-cpu-timers.c (was Re: Linux 5.14.4)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
> 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@xxxxxxxxxx>
>     Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>     Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
>     Link: https://lore.kernel.org/r/20210726125513.271824-4-frederic@xxxxxxxxxx
>     Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
>

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

Thanks!



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux