[RFC 2/3] kernel/cpu: Mark nonboot cpus as inactive when shutting down nonboot cpus
Pingfan Liu
piliu at redhat.com
Wed Oct 29 04:36:08 PDT 2025
On Tue, Oct 28, 2025 at 01:59:11PM +0100, Thomas Gleixner wrote:
> On Tue, Oct 28 2025 at 10:51, Pingfan Liu wrote:
> > On Mon, Oct 27, 2025 at 06:06:32PM +0100, Thomas Gleixner wrote:
> >> When kexec() is in progress, then running user space tasks at all is a
> >> completely pointless exercise.
> >>
> >> So the obvious solution to the problem is to freeze all user space tasks
> >
> > I agree, but what about a less intrusive approach? Simply stopping the
> > DL tasks should suffice, as everything works correctly without them.
>
> What's intrusive about that? Task freezing exists already.
>
Thanks for your guidance. That's a good point -- system suspending is a
good analogy. I will check how PM handles it.
> > I have a draft patch ready. Let's discuss it and go from there.
> >
> >> when kexec() is invoked. No horrible hacks in the deadline scheduler and
> >> elsewhere required to make that work. No?
> >
> > To clarify, skipping the dl_bw_deactivate() validation is necessary
> > because it prevents CPU hot-removal.
>
> If you freeze stuff there is nothing to do. Hibernation works exactly
> that way without any magic hacks in a particular scheduling class, no?
>
There is a nuance: DL bandwidth represents a commitment, not necessarily
the actual payload. Even a blocked DL task still occupies DL bandwidth.
The system's DL bandwidth remains unchanged as long as the CPUs stay
online, which is the case in hibernation.
Best Regards,
Pingfan
More information about the kexec
mailing list