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

Re: [Xen-devel] [PATCH] x86: Use deep C states for off-lined CPUs

Boris Ostrovsky wrote:
> On 02/29/12 00:21, Liu, Jinsong wrote:
>> Hmm, no.
>> It need flush cache, as long as *deep Cx* would be spurious-wokenup.
>> The reason clflush here is, it's a light-weight flush, in fact it
>> also could use wbinvd if not consider performance. 
> What address would need to be CFLUSH'd ? Both "address" and
> "pmtmr_ioport_local"?

if while loop only involve inb/inl port, no need to flush.

>> For halt, it don't need to do so since cpu still keep snoop when
>> sleep. 
> If cpu not snoop when in deeper C-states, wouldn't we have a problem
> with acpi_idle_do_entry()? There is a code path (at least for for C2)
> where the cache is not flushed.

No problem for C1/C2, only C3 and deeper would stop snoop.

> Incidentally, if CFLUSH is required for MONITOR then perhaps
> mwait_idle_with_hints() needs to have it as well?

No need to do so, wbinvd has been done before mwait_idle_with_hints enter C3, 
and it has different scenario with acpi_dead_idle which is a while(1) loop.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.