lkml.org 
[lkml]   [2002]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH] x86 performance counters driver 3.0-pre2 for 2.5.44: [2/4] x86 support
Andi Kleen writes:
> Mikael Pettersson <mikpe@csd.uu.se> writes:
>
> > +struct per_cpu_cache { /* roughly a subset of perfctr_cpu_state */
> > + union {
> > + unsigned int p5_cesr;
> > + unsigned int id; /* cache owner id */
> > + } k1;
> > + struct {
> > + /* NOTE: these caches have physical indices, not virtual */
> > + unsigned int evntsel[18];
> > + unsigned int escr[0x3E2-0x3A0];
> > + unsigned int pebs_enable;
> > + unsigned int pebs_matrix_vert;
> > + } control;
> > +} __attribute__((__aligned__(SMP_CACHE_BYTES)));
> > +static struct per_cpu_cache per_cpu_cache[NR_CPUS] __cacheline_aligned;
>
> This should use per cpu data (asm/percpu.h) to save memory.

Yes you're right. I didn't do this before because previous versions
needed to support 2.2/2.4 kernels and building it as a module.

For what values of cpu is per_cpu(var,cpu) valid? For those where
cpu_online(cpu) is true, or those where cpu_possible(cpu) is true?
(I need to convert a memset() on the per_cpu_cache[] array to the
per_cpu(,) framework.)

I'll fix this and announce a new version later today.

/Mikael
-
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/

\
 
 \ /
  Last update: 2005-03-22 13:30    [W:0.183 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site