Li, Aubrey wrote:
> 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?
>
>   
Only the boot cpu executed mach_init() and sets its
CPU->cpu_m.mcpu_mwait_support.  The other cpus do not
execute this code and have not set their mcpu_mwait_support
flag.  The code added to mach_init() also needs to be added to
mp_startup_init().  :-)

Is it possible to use a global variable instead of having
mcpu_mwait_support in each cpu_t?  We do not plan to
support a mixed configuration where some cpus use MWAIT
and some do not.  ;-)

Regards,
Bill

> 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
>>     
>
> _______________________________________________
> tesla-dev mailing list
> tesla-dev at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/tesla-dev
>   


Reply via email to