The function may be called with housekeeping_cpumask == cpu_possible_mask, and in such case the 'isolated' cpumask would be just empty. We can call cpumask_clear() in that case, and save CPU cycles. Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx> --- drivers/base/cpu.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c index 56fba44ba391..1322957286dd 100644 --- a/drivers/base/cpu.c +++ b/drivers/base/cpu.c @@ -282,8 +282,10 @@ static ssize_t print_cpus_isolated(struct device *dev, if (!alloc_cpumask_var(&isolated, GFP_KERNEL)) return -ENOMEM; - cpumask_andnot(isolated, cpu_possible_mask, - housekeeping_cpumask(HK_TYPE_DOMAIN)); + if (cpu_possible_mask != housekeeping_cpumask(HK_TYPE_DOMAIN)) + cpumask_andnot(isolated, cpu_possible_mask, housekeeping_cpumask(HK_TYPE_DOMAIN)); + else + cpumask_clear(isolated); len = sysfs_emit(buf, "%*pbl\n", cpumask_pr_args(isolated)); free_cpumask_var(isolated); -- 2.40.1