Messages in this thread | | | Date | Wed, 14 Jun 2017 16:23:51 +0200 | From | Borislav Petkov <> | Subject | Re: [PATCH v3 2/2] amd: uncore: Get correct number of cores sharing last level cache |
| |
On Tue, Jun 13, 2017 at 10:58:28AM -0500, Janakarajan Natarajan wrote: > In Family 17h, the number of cores sharing a cache level is obtained > from the Cache Properties CPUID leaf (0x8000001d) by passing in the > cache level in ECX. In prior families, a cache level of 2 was used to > determine this information. > > To get the right information, irrespective of Family, iterate over > the cache levels using CPUID 0x8000001d. The last level cache is the > last value to return a non-zero value in EAX. > > Signed-off-by: Janakarajan Natarajan <Janakarajan.Natarajan@amd.com> > --- > arch/x86/events/amd/uncore.c | 19 ++++++++++++++++--- > 1 file changed, 16 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/events/amd/uncore.c b/arch/x86/events/amd/uncore.c > index e34f8a6..a0b33de 100644 > --- a/arch/x86/events/amd/uncore.c > +++ b/arch/x86/events/amd/uncore.c > @@ -400,11 +400,24 @@ static int amd_uncore_cpu_starting(unsigned int cpu) > > if (amd_uncore_llc) { > unsigned int apicid = cpu_data(cpu).apicid; > - unsigned int nshared; > + unsigned int nshared, subleaf, prev_eax = 0; > > uncore = *per_cpu_ptr(amd_uncore_llc, cpu); > - cpuid_count(0x8000001d, 2, &eax, &ebx, &ecx, &edx); > - nshared = ((eax >> 14) & 0xfff) + 1; > + /* > + * Iterate over Cache Topology Definition leaves until no > + * more cache descriptions are available. > + */ > + for(subleaf = 0; subleaf < 5; subleaf++) {
ERROR: space required before the open parenthesis '(' #51: FILE: arch/x86/events/amd/uncore.c:410: + for(subleaf = 0; subleaf < 5; subleaf++) {
Please integrate scripts/checkpatch.pl in your patch creation workflow. Some of the warnings/errors *actually* make sense.
Thanks.
-- Regards/Gruss, Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
| |