2022-09-15 15:48:41

by Phil Auld

[permalink] [raw]
Subject: [RESEND PATCH v4 0/2] cpuhp: fix some st->target issues

Fix a couple of cpuhp inconsistencies.

The first prevents target_store() from calling cpu_down() when
target == state which prevents the cpu being incorrectly marked
as dying. The second just makes the boot cpu have a valid cpuhp
target rather than 0 (CPU_OFFLINE) while being in state
CPU_ONLINE.

A further issue which these two patches don't address is that
the cpuX/online file looks at the device->offline state and can
thus get out of sync with the actual cpuhp state if the cpuhp
target is used to change state.

v3: Added code to make sure st->target == target in the nop case.

v4: Use WARN_ON in the case where state == target but st->target does
not.

Phil Auld (2):
cpuhp: make target_store() a nop when target == state
cpuhp: Set cpuhp target for boot cpu

kernel/cpu.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

--
2.31.1


2022-10-03 14:42:52

by Phil Auld

[permalink] [raw]
Subject: Re: [RESEND PATCH v4 0/2] cpuhp: fix some st->target issues

On Thu, Sep 15, 2022 at 11:37:49AM -0400 Phil Auld wrote:
> Fix a couple of cpuhp inconsistencies.
>
> The first prevents target_store() from calling cpu_down() when
> target == state which prevents the cpu being incorrectly marked
> as dying. The second just makes the boot cpu have a valid cpuhp
> target rather than 0 (CPU_OFFLINE) while being in state
> CPU_ONLINE.
>
> A further issue which these two patches don't address is that
> the cpuX/online file looks at the device->offline state and can
> thus get out of sync with the actual cpuhp state if the cpuhp
> target is used to change state.
>
> v3: Added code to make sure st->target == target in the nop case.
>
> v4: Use WARN_ON in the case where state == target but st->target does
> not.
>
> Phil Auld (2):
> cpuhp: make target_store() a nop when target == state
> cpuhp: Set cpuhp target for boot cpu
>
> kernel/cpu.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> --
> 2.31.1
>

Pingy McPing-face :)

Peter? Anyone? It's really not ideal to have a cpu marked dying when
it isn't actually going down. Please take a look.

Thanks for your time.

Cheers,
Phil

--