Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756941AbYAHBsF (ORCPT ); Mon, 7 Jan 2008 20:48:05 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753893AbYAHBrz (ORCPT ); Mon, 7 Jan 2008 20:47:55 -0500 Received: from mga03.intel.com ([143.182.124.21]:44690 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753811AbYAHBry (ORCPT ); Mon, 7 Jan 2008 20:47:54 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.24,255,1196668800"; d="scan'208";a="361386756" Subject: Re: [RFC] PCIE ASPM support From: Shaohua Li To: "Kok, Auke" Cc: lkml , linux-pci , Greg KH , "Pallipadi, Venkatesh" In-Reply-To: <47826D1B.8020301@intel.com> References: <1199340944.1642.26.camel@sli10-desk.sh.intel.com> <477D3889.9070301@intel.com> <1199410324.3631.7.camel@sli10-desk.sh.intel.com> <47826D1B.8020301@intel.com> Content-Type: text/plain Date: Tue, 08 Jan 2008 09:34:43 +0800 Message-Id: <1199756083.28410.0.camel@sli10-desk.sh.intel.com> Mime-Version: 1.0 X-Mailer: Evolution 2.12.1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2900 Lines: 61 On Mon, 2008-01-07 at 10:19 -0800, Kok, Auke wrote: > Shaohua Li wrote: > > On Thu, 2008-01-03 at 11:33 -0800, Kok, Auke wrote: > >> Shaohua Li wrote: > >>> PCI Express ASPM defines a protocol for PCI Express components in the D0 > >>> state to reduce Link power by placing their Links into a low power state > >>> and instructing the other end of the Link to do likewise. This > >>> capability allows hardware-autonomous, dynamic Link power reduction > >>> beyond what is achievable by software-only controlled power management. > >>> However, The device should be configured by software appropriately. > >>> Enabling ASPM will save power, but will introduce device latency. > >>> > >>> This patch adds ASPM support in Linux. It introduces a global policy for > >>> ASPM, a sysfs file /sys/module/pcie_aspm/parameters/policy can control > >>> it. The interface can be used as a boot option too. Currently we have > >>> below setting: > >>> -default, BIOS default setting > >>> -powersave, highest power saving mode, enable all available ASPM state > >>> and clock power management > >>> -performance, highest performance, disable ASPM and clock power > >>> management > >>> By default, the 'default' policy is used currently. > >>> > >>> In my test, power difference between powersave mode and performance mode > >>> is about 1.3w in a system with 3 PCIE links. > >>> > >>> please review, any comments will be appreciated. > >> > >> quickly glanced this over since I recently disabled l1 ASPM for the e1000/e1000e > >> driven 82573 device which has issues with l1 ASPM. that immediately gives me the > >> question: how can I continue to disable 1l aspm by default for this device using > >> this infrastructure? > > I used to have a per-device interface, but thought the interface might > > be hard to use for users. If we really need the per-device interface, I > > can re-add it. > > > >> I do like the fact that there is a generic way to re-enable it for the users who > >> want to use it. Can this change be done when the device is already active? > > Yes, at least in my test. > > > >> Can you > >> change this parameter per device/module? > > Another way is to provide a helper for driver, and driver disables > > specific ASPM states. It sounds better to let driver do the disabling, > > as users haven't the knowledge? > > agreed, however this could still be usefull in debugging equipment for the > experienced user. In any case an easy handle for the driver to dis/enable ASPM > would certainly help our case, and possibly others. Then I'll add a config option, and enable the per-device interface with config enabled. Thanks, Shaohua -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/