Skip to content

Commit 8e26246

Browse files
kchuyizhougregkh
authored andcommitted
padata: Remove cpu online check from cpu add and removal
[ Upstream commit 73117ea ] During the CPU offline process, the dying CPU is cleared from the cpu_online_mask in takedown_cpu(). After this step, various CPUHP_*_DEAD callbacks are executed to perform cleanup jobs for the dead CPU, so this cpu online check in padata_cpu_dead() is unnecessary. Similarly, when executing padata_cpu_online() during the CPUHP_AP_ONLINE_DYN phase, the CPU has already been set in the cpu_online_mask, the action even occurs earlier than the CPUHP_AP_ONLINE_IDLE stage. Remove this unnecessary cpu online check in __padata_add_cpu() and __padata_remove_cpu(). Signed-off-by: Chuyi Zhou <zhouchuyi@bytedance.com> Acked-by: Daniel Jordan <daniel.m.jordan@oracle.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Stable-dep-of: c8c4a29 ("padata: Put CPU offline callback in ONLINE section to allow failure") Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 3ffcd6c commit 8e26246

1 file changed

Lines changed: 8 additions & 18 deletions

File tree

kernel/padata.c

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -736,32 +736,22 @@ EXPORT_SYMBOL(padata_set_cpumask);
736736

737737
static int __padata_add_cpu(struct padata_instance *pinst, int cpu)
738738
{
739-
int err = 0;
740-
741-
if (cpumask_test_cpu(cpu, cpu_online_mask)) {
742-
err = padata_replace(pinst);
739+
int err = padata_replace(pinst);
743740

744-
if (padata_validate_cpumask(pinst, pinst->cpumask.pcpu) &&
745-
padata_validate_cpumask(pinst, pinst->cpumask.cbcpu))
746-
__padata_start(pinst);
747-
}
741+
if (padata_validate_cpumask(pinst, pinst->cpumask.pcpu) &&
742+
padata_validate_cpumask(pinst, pinst->cpumask.cbcpu))
743+
__padata_start(pinst);
748744

749745
return err;
750746
}
751747

752748
static int __padata_remove_cpu(struct padata_instance *pinst, int cpu)
753749
{
754-
int err = 0;
755-
756-
if (!cpumask_test_cpu(cpu, cpu_online_mask)) {
757-
if (!padata_validate_cpumask(pinst, pinst->cpumask.pcpu) ||
758-
!padata_validate_cpumask(pinst, pinst->cpumask.cbcpu))
759-
__padata_stop(pinst);
760-
761-
err = padata_replace(pinst);
762-
}
750+
if (!padata_validate_cpumask(pinst, pinst->cpumask.pcpu) ||
751+
!padata_validate_cpumask(pinst, pinst->cpumask.cbcpu))
752+
__padata_stop(pinst);
763753

764-
return err;
754+
return padata_replace(pinst);
765755
}
766756

767757
static inline int pinst_has_cpu(struct padata_instance *pinst, int cpu)

0 commit comments

Comments
 (0)