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
