public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@amd64.org>
To: Thomas Renninger <trenn@suse.de>
Cc: akpm@linux-foundation.org, davej@redhat.com,
	linux@dominikbrodowski.net, mingo@elte.hu, hpa@zytor.com,
	tglx@linutronix.de, cpufreq@vger.kernel.org, x86@kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/5] cpufreq: Add APERF/MPERF support for AMD processors
Date: Thu, 25 Mar 2010 12:06:49 +0100	[thread overview]
Message-ID: <20100325110648.GA6060@aftab> (raw)
In-Reply-To: <201003251043.04867.trenn@suse.de>

From: Thomas Renninger <trenn@suse.de>
Date: Thu, Mar 25, 2010 at 10:43:04AM +0100

Hi Thomas,

> On Wednesday 24 March 2010 18:46:21 Borislav Petkov wrote:
> > From: Mark Langsdorf <mark.langsdorf@amd.com>
> > 
> > Starting with model 10 of Family 0x10, AMD processors may have
> > support for APERF/MPERF.  Add support for identifying it and using
> > it within cpufreq.  Move the APERF/MPERF functions out of the
> > acpi-cpufreq code and into their own file so they can easily be
> > shared.
> > 
> > Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
> > Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
> > ---
> >  arch/x86/kernel/cpu/amd.c                  |    6 +++
> >  arch/x86/kernel/cpu/cpufreq/Makefile       |    4 +-
> >  arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c |   44 +-----------------------
> >  arch/x86/kernel/cpu/cpufreq/mperf.c        |   50 ++++++++++++++++++++++++++++
> >  arch/x86/kernel/cpu/cpufreq/mperf.h        |    9 +++++
> >  arch/x86/kernel/cpu/cpufreq/powernow-k8.c  |    8 ++++
> >  6 files changed, 77 insertions(+), 44 deletions(-)
> >  create mode 100644 arch/x86/kernel/cpu/cpufreq/mperf.c
> >  create mode 100644 arch/x86/kernel/cpu/cpufreq/mperf.h
> > 
> > diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
> > index e485825..796f662 100644
> > --- a/arch/x86/kernel/cpu/amd.c
> > +++ b/arch/x86/kernel/cpu/amd.c
> > @@ -537,6 +537,12 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
> >  		set_cpu_cap(c, X86_FEATURE_MFENCE_RDTSC);
> >  	}
> >  
> > +	if (c->cpuid_level >= 6) {
> > +		unsigned ecx = cpuid_ecx(6);
> > +		if (ecx & 0x01)
> > +			set_cpu_cap(c, X86_FEATURE_APERFMPERF);
> > +	}
> > +
> Can you put this into:
> arch/x86/kernel/cpu/common.c (or wherever it fits in general x86 cpu init code)
> and remove this (arch/x86/kernel/cpu/intel.c):
>         if (c->cpuid_level > 6) {
>                 unsigned ecx = cpuid_ecx(6);
>                 if (ecx & 0x01)
>                         set_cpu_cap(c, X86_FEATURE_APERFMPERF);
>         }
> 
> an x86 maintainer might want to double check, but I expect this should work
> for all x86 machines?

Yes, it should. However, there's the remote, far-fetched possibility
that other x86 vendors besides AMD and Intel, might have/plan to have
CPUID, base function 6, ECX[1] defined as a completely different feature
flag. And then it becomes ugly.

Besides, this is, strictly speaking, not x86 generic code but AMD- and
Intel-generic (huh, is there something like that? :)) code.

So, IMO, this is a judgement call based on the current settings of the
duplication and bloating levels of the x86 maintainers' filters :)

Let's have some more opinions, please...

Thanks.

-- 
Regards/Gruss,
Boris.

--
Advanced Micro Devices, Inc.
Operating Systems Research Center

  reply	other threads:[~2010-03-25 11:06 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-24 17:46 [PATCH 0/5] powernow-k8: Core Performance Boost and effective frequency support Borislav Petkov
2010-03-24 17:46 ` [PATCH 1/5] x86, cpu: Add AMD core boosting feature flag to /proc/cpuinfo Borislav Petkov
2010-03-24 17:46 ` [PATCH 2/5] powernow-k8: Add core performance boost support Borislav Petkov
2010-03-24 17:46 ` [PATCH 3/5] cpufreq: Add APERF/MPERF support for AMD processors Borislav Petkov
2010-03-25  9:43   ` Thomas Renninger
2010-03-25 11:06     ` Borislav Petkov [this message]
2010-03-25 19:55     ` Valdis.Kletnieks
2010-03-25 20:59       ` Thomas Renninger
2010-03-25 22:16         ` Borislav Petkov
2010-03-24 17:46 ` [PATCH 4/5] powernow-k8: Fix frequency reporting Borislav Petkov
2010-03-24 17:46 ` [PATCH 5/5] cpufreq: Unify sysfs attribute definition macros Borislav Petkov
2010-03-25  9:50 ` [PATCH 0/5] powernow-k8: Core Performance Boost and effective frequency support Thomas Renninger
  -- strict thread matches above, loose matches on Subject: below --
2010-03-22 18:38 Borislav Petkov
2010-03-22 18:38 ` [PATCH 3/5] cpufreq: Add APERF/MPERF support for AMD processors Borislav Petkov
2010-03-23 11:26   ` Thomas Renninger
2010-03-23 11:59     ` Borislav Petkov

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=20100325110648.GA6060@aftab \
    --to=bp@amd64.org \
    --cc=akpm@linux-foundation.org \
    --cc=cpufreq@vger.kernel.org \
    --cc=davej@redhat.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@dominikbrodowski.net \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    --cc=trenn@suse.de \
    --cc=x86@kernel.org \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox