Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ACPI idle performance problem



On Sat, Feb 29, 2020 at 09:32:48PM +0000, Andrew Doran wrote:

> Am I missing some vital piece of information

Yes, I was.  I had a quick look at the code.  I assumed it was doing ACPI
bytecode voodoo to enter a low power state, but that's currenly disabled
because more needs doing.  It uses MWAIT/HLT under the covers, and the
performance problem is in software.  Things I would give consideration to
here:

- better avoidance of contention / false sharing
- HyperThreading
- avoidance of the timer reads (e.g. use hardclock_ticks instead)
- avoidance of the cache flush (does this always happen?)
- likely need something done for TLB flush IPIs (and device interrupts)
- tickless operation - could probably benefit from it a lot

So this is burning power/CPU rather than saving it.  On the face of it I
think we should put acpicpu's idle method under an option and come back to
making it the default once the kinks are worked out, unless I have missed
something.

Cheers,
Andrew


Home | Main Index | Thread Index | Old Index