Re: [PATCH 1/2] sched: Make the idle task quack like a per-CPU kthread

From: Valentin Schneider
Date: Tue May 11 2021 - 05:33:27 EST


On 11/05/21 09:32, Ingo Molnar wrote:
> * Valentin Schneider <valentin.schneider@xxxxxxx> wrote:
>> AFAICT the extra calls are due to idle_thread_get() (used in cpuhp)
>> calling init_idle(). However it looks to me that since
>>
>> 3bb5d2ee396a ("smp, idle: Allocate idle thread for each possible cpu during boot")
>>
>> we don't need to do that: we already have a
>>
>> for_each_possible_cpu(cpu)
>> init_idle(cpu)
>>
>> issued at init. So can't we "simply" rely on that init-time creation,
>> given it's done against the possible mask? I think the only thing that
>> might need doing at later hotplug is making sure the preempt count is
>> right (secondary startups seem to all prepare the idle task by issuing a
>> preempt_disable()).
>
> Best-case it works, worst-case we discover an unclean assumption in the
> init sequence and it works after we fix that.
>
> Win-win. :-)
>

Well I got something that seems to work, let me it test it some more and
convince myself it isn't completely bonkers and I'll toss it out.

> Thanks,
>
> Ingo