Hello, On 08/06/2010 02:53 PM, Namhyung Kim wrote: >> But they should still be accessed through the accessors and if they >> are accessed through accessors, there shouldn't be sparse warnings >> regarding them. Maybe UP accessors are missing proper markups? Do >> those warnings only happen on UP config? >> > > They do nothing on UP. > quoting from include/asm-generic.h: > > #else /* ! SMP */ > > #define per_cpu(var, cpu) (*((void)(cpu), &(var))) > #define __get_cpu_var(var) (var) > #define __raw_get_cpu_var(var) (var) > #define this_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) > #define __this_cpu_ptr(ptr) this_cpu_ptr(ptr) > > #endif /* SMP */ Ah, I see. Then, the right thing to do is to add proper checking and markups to UP accessors matching the SMP ones. ie. __verify_pcpu_ptr() verification followed by __kernel __force casting. Are you interested in doing it? Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html