Skip to content

softirq: Wake ktimers thread also in softirq.

Eder Zulian requested to merge ezulian/centos-stream-9:bz2187979 into main

softirq: Wake ktimers thread also in softirq.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2187979
Upstream Status: https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git

Backport:

commit 40efd84fb5de11104d690043dd7247edd9c5f632
Author: Junxiao Chang <junxiao.chang@intel.com>
Date:   Mon Feb 20 09:12:20 2023 +0100

    softirq: Wake ktimers thread also in softirq.
    
    If the hrtimer is raised while a softirq is processed then it does not
    wake the corresponding ktimers thread. This is due to the optimisation in the
    irq-exit path which is also used to wake the ktimers thread. For the other
    softirqs, this is okay because the additional softirq bits will be handled by
    the currently running softirq handler.
    The timer related softirq bits are added to a different variable and rely on
    the ktimers thread.
    As a consuequence the wake up of ktimersd is delayed until the next timer tick.
    
    Always wake the ktimers thread if a timer related softirq is pending.
    
    Reported-by: Peh, Hock Zhang <hock.zhang.peh@intel.com>
    Signed-off-by: Junxiao Chang <junxiao.chang@intel.com>
    Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>

Signed-off-by: Eder Zulian ezulian@redhat.com

Merge request reports