Messages in this thread | | | Subject | Re: [PATCH] percpu,lockdep: implement and use is_static_percpu_address() | From | Peter Zijlstra <> | Date | Tue, 09 Mar 2010 12:52:20 +0100 |
| |
On Tue, 2010-03-09 at 20:42 +0900, Tejun Heo wrote: > Hello, Peter. > > On 03/09/2010 08:25 PM, Peter Zijlstra wrote: > >> +/* can't distinguish from other static vars, always false */ > >> +static inline bool is_static_percpu_address(unsigned long addr) > >> +{ > >> + return false; > >> +} > > > > At this point it might make sense to simply fail to compile if lockdep > > is enabled as well. > > > > I'm not sure if there's many SMP archs that don't have this and do have > > lockdep, but simply failing this test isn't really an option. > > That might be better. Returning %false isn't that bad tho. There > really is no distinction between percpu and !percpu variable on UP and > static variable address match will catch both.
Ah, if this is UP only then yes, no complaints ;-)
> >> /** > >> + * is_static_percpu_address - test whether address is from static percpu area > >> + * @addr: address to test > >> + * > >> + * Test whether @addr belongs to static percpu area. Module static > >> + * percpu areas allocated via __alloc_reserved_percpu() is not > >> + * considered. Use is_module_address() for those. > >> + * > >> + * RETURNS: > >> + * %true if @addr is from static percpu area, %false otherwise. > >> + */ > > > > So is_module_address() will only return true for static per-cpu module > > storage, right? > > Right, got confused there. I'll update is_static_percpu_address() to > test for reserved regions too.
Or as per your other email, make the above be true, and have is_module_address() be true for its static per-cpu regions.
| |