From: Zhantao Tang <[email protected]>
In commit: 47b6de0b7f22 ("hrtimer: Add a missing bracket and hide `migration_base' on !SMP")
a inline function is_migration_base() is introduced. But
the logic of the hrtimer_grab_expiry_lock was changed.
This patch is to correct it.
Signed-off-by: Zhantao Tang <[email protected]>
---
kernel/time/hrtimer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
index b3adac366fd1..6b47e310c68e 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -944,7 +944,7 @@ void hrtimer_grab_expiry_lock(const struct hrtimer *timer)
{
struct hrtimer_clock_base *base = READ_ONCE(timer->base);
- if (timer->is_soft && is_migration_base(base)) {
+ if (timer->is_soft && !is_migration_base(base)) {
spin_lock(&base->cpu_base->softirq_expiry_lock);
spin_unlock(&base->cpu_base->softirq_expiry_lock);
}
--
2.17.1
On 12/08/2020 12.50, [email protected] wrote:
> From: Zhantao Tang <[email protected]>
>
> In commit: 47b6de0b7f22 ("hrtimer: Add a missing bracket and hide `migration_base' on !SMP")
> a inline function is_migration_base() is introduced. But
> the logic of the hrtimer_grab_expiry_lock was changed.
>
> This patch is to correct it.
>
Yup, same patch sent back in April, which also had a fixes tag for 5.2.
https://lore.kernel.org/lkml/[email protected]/
It got picked up for 4.19-rt, dunno why it wasn't for 5.2-rt.
Rasmus
On Wed, 12 Aug 2020 13:45:02 +0200
Rasmus Villemoes <[email protected]> wrote:
> Yup, same patch sent back in April, which also had a fixes tag for 5.2.
>
> https://lore.kernel.org/lkml/[email protected]/
>
> It got picked up for 4.19-rt, dunno why it wasn't for 5.2-rt.
5.2-rt is no longer supported. The -rt trees follow mainline trees.
When a mainline version is EOL so is the -rt version associated with it.
-- Steve
在 2020/8/12 下午7:45, Rasmus Villemoes 写道:
> On 12/08/2020 12.50, [email protected] wrote:
>> From: Zhantao Tang <[email protected]>
>>
>> In commit: 47b6de0b7f22 ("hrtimer: Add a missing bracket and hide `migration_base' on !SMP")
>> a inline function is_migration_base() is introduced. But
>> the logic of the hrtimer_grab_expiry_lock was changed.
>>
>> This patch is to correct it.
>>
> Yup, same patch sent back in April, which also had a fixes tag for 5.2.
>
> https://lore.kernel.org/lkml/[email protected]/
>
> It got picked up for 4.19-rt, dunno why it wasn't for 5.2-rt.
Yes, currently 5.2 rt kernel not fix the issue.
And I checked the 4.19 rt kernel, but did not find the implementation
of hrtimer_grab_expiry_lock().
It used hrtimer_wait_for_timer() and the logic is OK.
Thanks,
Zhantao
>
> Rasmus