Re: [PATCH 00/05] robust per_cpu allocation for modules

Paul Mackerras
2006-04-16T06:35:09Z

Steven Rostedt writes:

> The data in .data.percpu_offset holds is referenced by the per_cpu
> variable name which points to the __per_cpu_offset array. For modules,
> it will point to the per_cpu_offset array of the module.
>
> Example:
>
> DEFINE_PER_CPU(int, myint);
>
> would now create a variable called per_cpu_offset__myint in
> the .data.percpu_offset section. This variable will point to the (if
> defined in the kernel) __per_cpu_offset[] array. If this was a module
> variable, it would point to the module per_cpu_offset[] array which is
> created when the modules is loaded.

This sounds like you have an extra memory reference each time a
per-cpu variable is accessed. Have you tried to measure the
performance impact of that? If so, how much performance does it lose?

Paul.