Messages in this thread | | | From | Mikael Pettersson <> | Date | Fri, 25 Oct 2002 14:25:49 +0200 | Subject | Re: [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/
| |