RE: [PATCH 13/16] percpu: remove per_cpu__ prefix.

From: Christoph Lameter
Date: Wed Oct 14 2009 - 14:59:51 EST


On Wed, 14 Oct 2009, Luck, Tony wrote:

> > we would still have to use per cpu operations to get to the contents of
> > these variables.
>
> That's good.
>
> > Hope that addresses your concerns.
>
> But then I don't understand the original patch that was going to do:
>
> > -#define __ia64_per_cpu_var(var) per_cpu__##var
> > +#define __ia64_per_cpu_var(var) var
>
> Presumably all actual use of __ia64_per_cpu_var is being replaced
> by some other "per cpu operations"?

Hmmm... Right. IA64 is a special case because the access of the per cpu
variable at a specific address causes per cpu TLBs to do the relocation.

Other platforms have to add a per cpu specific offset to a variable to get
the right per cpu variable.

As a result IA64 strictly does not need this_cpu_read() and
this_cpu_write(). However, not using the operations is going to cause
the sparse annotation by Tejun to trigger errors. this_cpu_read() is
likely a noop for IA64 that just changes the annotations so that sparse
warnings do not trigger. Tejun?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/