Re: [PATCH v3 0/8] timers/migration: Fix three possible races and some improvements

From: Anna-Maria Behnsen
Date: Thu Jul 11 2024 - 11:44:21 EST


Hi,

(cc Oliver Sang)

Anna-Maria Behnsen <anna-maria@xxxxxxxxxxxxx> writes:

> Borislav reported a warning in timer migration deactive path
>
> https://lore.kernel.org/r/20240612090347.GBZmlkc5PwlVpOG6vT@fat_crate.local
>
> Sadly it doesn't reproduce directly. But with the change of timing (by
> adding a trace prinkt before the warning), it is possible to trigger the
> warning reliable at least in my test setup. The problem here is a racy
> check agains group->parent pointer. This is also used in other places in
> the code and fixing this racy usage is adressed by the first patch.
>
> There were two other races reported by Frederic in setup path:
>
> https://lore.kernel.org/r/ZnWOswTMML6ShzYO@localhost.localdomain
>
> https://lore.kernel.org/r/ZnoIlO22habOyQRe@lothringen
>
> Those races are both is addressed by the change of patch 2.
>
> Some updates/cleanups are provided by patch 3-8. ("timers/migration:
> Improve tracing" and "timers/migration: Spare write when nothing changed"
> are the same as provided by v2).
>
> Patches are available here:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/anna-maria/linux-devel.git timers/misc
>

Thomas, please remove this queue when possible from
tip/timers/urgent. There are some things broken and needs to be
fixed. Otherwise we get a Fixes-Fixes-Patch. See report of kernel test
robot:

https://lore.kernel.org/r/202407101636.d9d4e8be-oliver.sang@xxxxxxxxx

Two main problems are:
- wrong CPU hotplug state is used for prepare in cpuhp_setup_state()
- using this_cpu_ptr() instead of per_cpu_ptr()

Working on preparation of v4.

Thanks,

Anna-Maria