On Mon, Nov 24, 2014 at 11:47:28AM +0000, Jan Beulich wrote: > Commit 4ca6f9f0 ("x86/cpuidle: publish new states only after fully > initializing them") resulted in the state counter to be incremented > for C1 despite that using a fixed table entry (and the statically > initialized counter value already accounting for it and C0). >
Reviewed-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Reported-by: Steve Freitas <sfl...@ihonk.com> Release-Acked-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> (thought it would be good to get from Steve an confirmation that this fixes it - which I believe is 99% the case). > Signed-off-by: Jan Beulich <jbeul...@suse.com> > > --- a/xen/arch/x86/acpi/cpu_idle.c > +++ b/xen/arch/x86/acpi/cpu_idle.c > @@ -1015,7 +1015,7 @@ static void set_cx( > cx->target_residency = cx->latency * latency_factor; > > smp_wmb(); > - acpi_power->count++; > + acpi_power->count += (cx->type != ACPI_STATE_C1); > if ( cx->type == ACPI_STATE_C1 || cx->type == ACPI_STATE_C2 ) > acpi_power->safe_state = cx; > } > > > > x86/cpuidle: don't count C1 multiple times > > Commit 4ca6f9f0 ("x86/cpuidle: publish new states only after fully > initializing them") resulted in the state counter to be incremented > for C1 despite that using a fixed table entry (and the statically > initialized counter value already accounting for it and C0). > > Signed-off-by: Jan Beulich <jbeul...@suse.com> > > --- a/xen/arch/x86/acpi/cpu_idle.c > +++ b/xen/arch/x86/acpi/cpu_idle.c > @@ -1015,7 +1015,7 @@ static void set_cx( > cx->target_residency = cx->latency * latency_factor; > > smp_wmb(); > - acpi_power->count++; > + acpi_power->count += (cx->type != ACPI_STATE_C1); > if ( cx->type == ACPI_STATE_C1 || cx->type == ACPI_STATE_C2 ) > acpi_power->safe_state = cx; > } _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel