Re: [PATCH] percpu,lockdep: implement and use is_static_percpu_address()

From: Tejun Heo
Date: Tue Mar 09 2010 - 06:43:34 EST


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.

>> /**
>> + * 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.

Thanks for the review.

--
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/