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

Jeffrey Lane jeffrey.lane at canonical.com
Thu Sep 29 15:21:21 UTC 2022


On Wed, Sep 28, 2022 at 11:22 AM Thadeu Lima de Souza Cascardo
<cascardo at canonical.com> wrote:
>
> 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.
> >
>
> Has this been tested on AMD systems and shown to improve the situation? Which
> AMD systems?
>
> Does this affect the OEM-5.17 kernel as well?

Update from AMD:

This was tested on:
- 2P Milan Dell Power Edge System (2 x 64C/128T)
- 1P Genoa B0 (96C/192T)

So they have not looked at this on client side controllers.  Keep in
mind, as I mentioned earlier though, that the request came from the
enterprise side of AMD and thus they're only going to be testing on
the server CPUs. I can't really say if this would really be necessary
in the OEM kernel or not.


>
> Cascardo.
>
> >
> > Dave Hansen (1):
> >   ACPI: processor idle: Practically limit "Dummy wait" workaround to old
> >     Intel systems
> >
> >  drivers/acpi/processor_idle.c | 23 ++++++++++++++++++++---
> >  1 file changed, 20 insertions(+), 3 deletions(-)
> >
> > --
> > 2.34.1
> >
> >
> > --
> > kernel-team mailing list
> > kernel-team at lists.ubuntu.com
> > https://lists.ubuntu.com/mailman/listinfo/kernel-team

--
Jeff Lane
Engineering Manager
IHV/OEM Alliances and Server Certification

"Entropy isn't what it used to be."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 371896 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20220929/8011e527/attachment-0001.png>


More information about the kernel-team mailing list