the function to place processor into deeper c-state is added.
I discussed with Bill about how to enter deeper c-state.
The ACPI documentation uses reading ACPI register address to enter,
while Intel Processor programming guides indicate MWAIT is prefered.
We know, to wake up an idle CPU, mwait just needs monitor memory write.
But "halt" and ACPI reading IO port need an IPI. Obviously, mwait has
the
better performance.
So, here, I didn't see any advantage to follow ACPI on the
mwait-supported
processors. The logic breaking ACPI rule in the committed code is as
follows:
if (mwait is supported)
use monitor/mwait to enter deep c-state
else
reading IO port from ACPI
Of course this logic depends on the info reading from ACPI objects.
So disp_enq_thread doesn't need to be changed.
Any objects/thoughts?
Thanks,
-Aubrey
tesla-dev-bounces wrote:
> Author: Aubrey Li <aubrey.li at intel.com>
> Repository: /hg/tesla/cpupm-gate
> Latest revision: fb46381c0d6aa02129ae68dcdf89bb19897aa671 Total
> changesets: 1 Log message:
> add funtion to place processor into deeper c-state
>
> Files:
> update: usr/src/uts/i86pc/io/cpu_idle.c
> update: usr/src/uts/i86pc/io/cpudrv_plat.c
> update: usr/src/uts/i86pc/os/mp_machdep.c
> update: usr/src/uts/i86pc/sys/cpu_idle.h
> update: usr/src/uts/i86pc/sys/machcpuvar.h