APPLIED[K]: [SRU] [Jammy] [Kinetic] [PATCH 0/1] limit "Dummy wait" to old Intel

Andrea Righi andrea.righi at canonical.com
Wed Oct 12 07:11:54 UTC 2022


On Wed, Sep 28, 2022 at 10:58:00AM -0400, Jeff Lane wrote:
> Old, circa 2002 chipsets have a bug: they don't go idle when they are
> supposed to. So, a workaround was added to slow the CPU down and
> ensure that the CPU waits a bit for the chipset to actually go idle.
> This workaround is ancient and has been in place in some form since
> the original kernel ACPI implementation.
> 
> But, this workaround is very painful on modern systems. The "inl()"
> can take thousands of cycles (see Link: for some more detailed
> numbers and some fun kernel archaeology).
> 
> First and foremost, modern systems should not be using this code.
> Typical Intel systems have not used it in over a decade because it is
> horribly inferior to MWAIT-based idle.
> 
> Despite this, people do seem to be tripping over this workaround on
> AMD system today.
> 
> Limit the "dummy wait" workaround to Intel systems. Keep Modern AMD
> systems from tripping over the workaround. Remotely modern Intel
> systems use intel_idle instead of this code and will, in practice,
> remain unaffected by the dummy wait.
> 
> Small patch cleanly picks to both Kinetic and Jammy.

Applied to kinetic/linux.

Thanks,
-Andrea



More information about the kernel-team mailing list