Hi Mark,
Mark.Haywood wrote:
> Hi Aubrey,
>
> Sorry it's taken me so long to take a look at this. I think your
> changes look very good. A couple of very minor comments:
Thanks for the comments.
>
> - In cpuvar.h, I'm not sure if cpu_max_cstates should be added
> directly to the cpu structure. Is this field going to be used
> by SPARC? If so, then it's fine. Otherwise, I think it might
> need to move to the i86pc version of machcpu.
>
Yeah, that's a good point and is what I want to ask.
Will the different idle level be supported by SPARC?
Another issue is, what of C-state need be exported in kstat info?
Cpu max cstate, latency, power, anything else?
Any thoughts?
> - cpu_idle.c:
>
> Really just a nit. Comments refer to SpeedStep?
Sure, ;)
>
> - Have you given any thought on how the kernel is going to
> access the ACPI C-state data?
Here is what I am thinking now. Only an acpi_idle() function will be
offered to the kernel.
If deeper c-state is supported, idle_cpu will be acpi_idle().
So here is acpi_idle() prototype.
acpi_idle()
{
switch(next_idle_type)
case C1:
idle_cpu = cpu_idle or cpu_idle_mwait
case C2:
idle_cpu = acpi_idle_C2
case C3:
idle_cpu = acpi_idle_C3
idle_policy();
}
Any suggestions?
As for the C/P/T state ops, currently I don't see any necessary to keep
them different.
C/T state driver can set the function point to be NULL if it's not used.
Thanks,
-Aubrey