[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [patch v3 08/36] x86/smpboot: Split up native_cpu_up() into separate phases and document them



On Tue, May 09 2023 at 12:31, Peter Zijlstra wrote:
> On Mon, May 08, 2023 at 09:43:39PM +0200, Thomas Gleixner wrote:
>> +    /*
>> +     * Wait for the AP to mark itself online, so the core caller
>> +     * can drop sparse_irq_lock.
>> +     */
>> +    while (!cpu_online(cpu))
>> +            schedule();
>> +}
>
> These schedule() loops make me itch... this is basically Ye Olde yield()
> loop with all it's known 'benefits'.
>
> Now, I don't think it's horribly broken, we're explicitly waiting on
> another CPU and can't have priority inversions, but yuck!
>
> It could all be somewhat cleaned up with wait_var_event{_timeout}() and
> wake_up_var(), but I'm really not sure that's worth it. But at least it
> requires a comment to justify.

All of them are gone with the later patches and the control CPU will
just go straight to wait for the completion in the core code.




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.