[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9a3f8105-1156-486d-9b6e-f444e36a271f@gmail.com>
Date: Wed, 7 May 2025 14:49:09 -0500
From: Carlos Bilbao <carlos.bilbao.osdev@...il.com>
To: Peter Zijlstra <peterz@...radead.org>, Carlos Bilbao <bilbao@...edu>
Cc: Andrew Morton <akpm@...ux-foundation.org>, seanjc@...gle.com,
carlos.bilbao@...nel.org, tglx@...utronix.de, jan.glauber@...il.com,
pmladek@...e.com, jani.nikula@...el.com, linux-kernel@...r.kernel.org,
gregkh@...uxfoundation.org, takakura@...inux.co.jp,
john.ogness@...utronix.de, x86@...nel.org
Subject: Re: [PATCH v3 0/2] Reduce CPU consumption after panic
Hello Peter,
On 5/1/25 03:55, Peter Zijlstra wrote:
> On Wed, Apr 30, 2025 at 01:54:11PM -0500, Carlos Bilbao wrote:
>
>>> All that said... the default more or less does for(;;) { mdelay(100) },
>>> if you have a modern chip that should not end up using much power at
>>> all. That should end up in delay_halt_tpause() or delay_halt_mwaitx()
>>> (depending on you being on Intel or AMD). And spend most its time in
>>> deep idle states.
>>>
>>> Is something not working?
>> Well, in my experiments, that’s not what happened -- halting the CPU in VMs
>> reduced CPU usage by around 70%.
> Because you're doing VMs, and VMs create problems where there weren't
> any before. IOW you get to keep the pieces.
>
> Specifically, VMs do VMEXIT on HLT and this is what's working for you.
>
> On real hardware though, HLT gets you C1, while both TPAUSE and MWAITX
> can probably get you deeper C states. As such, HLT is probably a
> regression on power.
That's a good point -- wouldn't TPAUSE achieve what I was trying to
accomplish with HLT? Assuming there's support and wouldn't just #UD.
>
>> How would folks feel about adding something like
>> /proc/sys/kernel/halt_after_panic, disabled by default? It would help in
>> the Linux use cases I care about (e.g., virtualized environments), without
>> affecting others.
> What's wrong with any of the existing options? Fact remains you need to
> configure your VMs properly.
See, that's the problem -- it's not _my_VMs. It's the VMs of cloud users,
who are ultimately responsible for configuring their kernels however they
want. We can try to educate them, as some maintainers have suggested me,
but many people either don't know what the kernel is or don't care -- they
just trust that Linux will have sensible defaults. I get your point that
VM-specific problems shouldn't burden the broader kernel ecosystem, but I’d
still like to think whether there's something we can do to improve the
situation for VMs post-panic without negatively impacting other use cases.
Thanks,
Carlos
Powered by blists - more mailing lists