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

Re: [Xen-devel] [PATCH] acpi: do not flush cache if cx->type != ACPI_STATE_C3



On 04/13/2012 10:30 AM, Jan Beulich wrote:
On 13.04.12 at 04:14, "Zhang, Yang Z"<yang.z.zhang@xxxxxxxxx>  wrote:
This should not be enough. No need to check bm when going to C2.
How about the following patch:

That looks right, but I'd prefer to simplify it a little:

--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -493,7 +493,9 @@ static void acpi_processor_idle(void)
           * not set. In that case we cannot do much, we enter C3
           * without doing anything.
           */
-        if ( power->flags.bm_check&&  power->flags.bm_control )
+        if ( cx->type != ACPI_STATE_C3 )
+            /* nothing to be done here */;
+        else if ( power->flags.bm_check&&  power->flags.bm_control )
          {
              spin_lock(&c3_cpu_status.lock);
              if ( ++c3_cpu_status.count == num_online_cpus() )
@@ -515,7 +517,8 @@ static void acpi_processor_idle(void)
          /* Invoke C3 */
          acpi_idle_do_entry(cx);

-        if ( power->flags.bm_check&&  power->flags.bm_control )
+        if ( (cx->type == ACPI_STATE_C3)&&
+             power->flags.bm_check&&  power->flags.bm_control )
          {
              /* Enable bus master arbitration */
              spin_lock(&c3_cpu_status.lock);

Also, Yang, you didn't provide a S-o-b - are you okay with me adding
it?

If you're both okay with above patch, I'll see that I get it committed.

Jan



This looks good to me. Thanks
Wei


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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