Port-i386 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: ACPI idle performance problem
On Sun, May 31, 2020 at 10:23:56PM +0000, Andrew Doran wrote:
> I spent a bit of time playing with this over the weekend, instrumented the
> code to find out what was happening and and made a commit to
> acpi_cpu_cstate.c work around the problem. There are a couple of comments
> in there explaining what I found but basically reading the ACPI timer
> (mapped via I/O port) during idle seems stupidly costly, enough to add
> between 5-10% system time to a kernel build for me.
>
> I guess the system builders don't pay attention to I/O port access since
> most devices are memory mapped now.
Thanks for looking into the problem!
I think this is an implementation bug. Would a simple fix suffice: add
acpi_md_timer_read() and map it to a better timer in acpi_machdep.c?
Another thing that I was thinking about was acpicpu_md_quirk_c1e() that
is potentially called for some AMD CPUs in the idle loop. It might be
costly, and I am not sure whether it is the right thing to do. Should read
the BKDGs again.
- Jukka
Home |
Main Index |
Thread Index |
Old Index