LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Shaohua Li <shaohua.li@intel.com>
Cc: lkml <linux-kernel@vger.kernel.org>,
	linux-pci <linux-pci@atrey.karlin.mff.cuni.cz>,
	"Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>,
	"Kok, Auke" <auke-jan.h.kok@intel.com>,
	Matthew Wilcox <matthew@wil.cx>
Subject: Re: [PATCH]PCIE ASPM support - takes 3
Date: Wed, 23 Jan 2008 10:26:28 -0800	[thread overview]
Message-ID: <20080123182628.GB22362@kroah.com> (raw)
In-Reply-To: <1201054854.24563.3.camel@sli10-desk.sh.intel.com>

On Wed, Jan 23, 2008 at 10:20:54AM +0800, Shaohua Li wrote:
> 
> On Tue, 2008-01-22 at 14:58 -0800, Greg KH wrote:
> > On Fri, Jan 18, 2008 at 09:56:28AM +0800, Shaohua Li wrote:
> > > v3->v2, fixed the issues Matthew Wilcox raised.
> > > 
> > > 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.
> > 
> > Can you please fix up all of the warnings that checkpatch.pl and sparse
> > produce from this patch?
> > 
> > Also, one small thing:
> > 
> > > --- linux.orig/include/linux/pci.h	2008-01-16 15:59:42.000000000 +0800
> > > +++ linux/include/linux/pci.h	2008-01-18 09:41:20.000000000 +0800
> > > @@ -164,6 +164,10 @@ struct pci_dev {
> > >  					   this is D0-D3, D0 being fully functional,
> > >  					   and D3 being off. */
> > >  
> > > +#ifdef CONFIG_PCIEASPM
> > > +	void		*link_state;	/* ASPM link state. */
> > > +#endif
> > 
> > Can we make this a "real" pointer to a structure?  I note that you use
> > two different structures here in this pointer, should you really do
> > that?  It's good to get type-checks whereever possible.
> The structure is just for internal use of ASPM, just don't want make it
> global.

Yes, you don't need to expose the structure type, just name it, and then
define it in the code itself.

But using a void pointer as you have here, allows you to assign two
different types of structures to this pointer.  Are you sure that you
always get this right?  :)

Please, let's try to inforce type-saftey and set this to be a specific
type of pointer to a structure.  That will require you to possibly merge
the two structures, which will require some code changes.

thanks,

greg k-h

  reply	other threads:[~2008-01-23 18:26 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-18  1:56 Shaohua Li
2008-01-22 22:58 ` Greg KH
2008-01-23  2:20   ` Shaohua Li
2008-01-23 18:26     ` Greg KH [this message]
2008-01-24  2:21       ` Shaohua Li
2008-01-25 22:41         ` patch pci-pcie-aspm-support.patch added to gregkh-2.6 tree gregkh
2008-02-02 10:55           ` [bootup crash, -git] " Ingo Molnar
2008-02-02 18:51             ` Greg KH
2008-02-02 19:37               ` Ingo Molnar
2008-02-19  5:45               ` [bootup crash, -git] Re: patch pci-pcie-aspm-support.patchadded " Shaohua Li
2008-02-19 23:45                 ` Greg KH
2008-02-20  1:36                   ` Shaohua Li
2008-02-20  4:14                     ` Greg KH
2008-02-20  4:48                       ` Shaohua Li
2008-02-20  5:04                         ` Greg KH
2008-02-20  5:24                           ` Shaohua Li
2008-02-20  5:42                             ` Greg KH
2008-02-20  6:21                               ` Shaohua Li
2008-01-24 17:22 ` [PATCH]PCIE ASPM support - takes 3 Pavel Machek
2008-01-25  8:01   ` Li, Shaohua
2008-01-28 23:14   ` Kok, Auke

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080123182628.GB22362@kroah.com \
    --to=greg@kroah.com \
    --cc=auke-jan.h.kok@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@atrey.karlin.mff.cuni.cz \
    --cc=matthew@wil.cx \
    --cc=shaohua.li@intel.com \
    --cc=venkatesh.pallipadi@intel.com \
    --subject='Re: [PATCH]PCIE ASPM support - takes 3' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).