From patchwork Tue May 19 08:09:54 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shaohua Li X-Patchwork-Id: 24669 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n4J89kaW003185 for ; Tue, 19 May 2009 08:10:00 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754448AbZESIJ4 (ORCPT ); Tue, 19 May 2009 04:09:56 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754386AbZESIJ4 (ORCPT ); Tue, 19 May 2009 04:09:56 -0400 Received: from mga11.intel.com ([192.55.52.93]:18638 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754142AbZESIJy (ORCPT ); Tue, 19 May 2009 04:09:54 -0400 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP; 19 May 2009 01:03:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.41,214,1241420400"; d="scan'208";a="458438674" Received: from sli10-conroe.sh.intel.com (HELO sli10-desk.sh.intel.com) ([10.239.13.175]) by fmsmga002.fm.intel.com with ESMTP; 19 May 2009 01:04:19 -0700 Received: from david by sli10-desk.sh.intel.com with local (Exim 4.69) (envelope-from ) id 1M6KOY-0003By-Qb; Tue, 19 May 2009 16:09:54 +0800 Date: Tue, 19 May 2009 16:09:54 +0800 From: Shaohua Li To: linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org Cc: mingo@redhat.com, thisistempbox@yahoo.com, lenb@kernel.org Subject: [PATCH 2/2]cpuidle: makes AMD C1E works in suspend/resume path Message-ID: <20090519080954.GB12117@sli10-desk.sh.intel.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org When AMD C1E is enabled, local APIC timer will stop even in C1. To avoid suspend/resume hang, this patch removes C1 and replace it with a cpu_relax() in suspend/resume path. This hasn't any impact in runtime path. http://bugzilla.kernel.org/show_bug.cgi?id=13233 [ impact: avoid suspend/resume hang in AMD CPU with C1E enabled ] Tested-by: Dmitry Lyzhyn Signed-off-by: Shaohua Li --- drivers/acpi/processor_idle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Index: linux/drivers/acpi/processor_idle.c =================================================================== --- linux.orig/drivers/acpi/processor_idle.c 2009-05-19 09:56:59.000000000 +0800 +++ linux/drivers/acpi/processor_idle.c 2009-05-19 10:01:23.000000000 +0800 @@ -834,8 +834,8 @@ static int acpi_idle_enter_c1(struct cpu /* Do not access any ACPI IO ports in suspend path */ if (acpi_idle_suspend) { - acpi_safe_halt(); local_irq_enable(); + cpu_relax(); return 0; }