Messages in this thread | | | Date | Mon, 25 Jan 2010 17:02:36 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH 7/8] percpu: add __percpu sparse annotations to hw_breakpoint |
| |
On 01/25/2010 04:19 PM, Frederic Weisbecker wrote: > On Tue, Jan 26, 2010 at 12:22:14AM +0900, Tejun Heo wrote: >> Add __percpu sparse annotations to hw_breakpoint. >> >> These annotations are to make sparse consider percpu variables to be >> in a different address space and warn if accessed without going >> through percpu accessors. This patch doesn't affect normal builds. >> >> per_cpu(nr_task_bp_pinned, cpu) is replaced with >> &per_cpu(nr_task_bp_pinned[0], cpu). This is the same to the compiler >> but allows per_cpu() macro to correctly drop __percpu designation for >> the returned pointer. > > Ouch... It's unpleasant to see such workaround that messes up the > code just to make sparse happy. > > I guess __percpu is an address_space attribute? Is there no > way to force the address space change directly from the > per_cpu() macro? >
A cast (using __typeof__) combined with an address space override?
-hpa
| |