Messages in this thread | | | Date | Fri, 27 Nov 2009 15:31:00 +0900 | From | Tejun Heo <> | Subject | Re: linux-next: percpu tree build warning |
| |
Hello, Ingo. > At least to me a typo like this would stick out like a sore thumb during > review.
Yeah, maybe, but it still shows why reusing the same name for global and local variables behind compiler's back is a bad idea.
> I'd recognize ®1 as a stack local variable immediately, and when i > see it being used in this_cpu_inc() i'd go 'huh' immediately. > > OTOH, the two examples of confusion i gave you in my previous mail would > be far less obvious. The 'visual distance' to a percpu variable > definition is greater (it's at least file scope in 95% of the cases), so > i wouldnt be able to 'see' which the percpu variables are, from a code > context.
With proper __percpu annotations (which we desparately need for dynamic percpu pointers anyway) the 'visual distance' should remain fine in most cases, I think.
If we can manage the separate namespace thing without adding confusion regarding different types of accessors and the actually non-existing but yet visible differences between static and dynamic percpu variables, I think it would be good. But it costs us quite a bit and __percpu sparse annotation has almost complete coverage over the issue including the visible queue telling that something is percpu. So, given that, to me __percpu seems like a much better way to do it.
Thanks.
-- tejun
| |