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


Reply via email to