Re: pmu_dev_alloc; warning at at kernel/locking/lockdep.c:3002 lockdep_init_map

Tvrtko Ursulin
2015-05-08T14:38:43Z

On 05/07/2015 06:29 PM, Peter Zijlstra wrote:
> On Thu, May 07, 2015 at 07:06:26PM +0200, Peter Zijlstra wrote:
>> On Thu, May 07, 2015 at 05:29:57PM +0100, Tvrtko Ursulin wrote:
>>>>>> May 7 11:58:20 skl kernel: [ 6.066696] futex hash table entries: 1024 (order: 5, 131072 bytes)
>>
>>>>>> May 7 11:58:20 skl kernel: [ 6.329549] HugeTLB registered 2 MB page size, pre-allocated 0 pages
>>
>>
>>>> sysfs by default uses lockdep key embedded in attrs. It looks like
>>>> somebody is making on-heap copies of attrs and using them as the group
>>>> attrs. What's the offending pmu type?
>>>
>>> I am not familiar with this area, is this the answer?
>>
>> Nope, that's way before you get the fail. initcall_debug might get you
>> the right answer, but I suspect its the intel_uncore driver.
>>
>> I see arch/x86/kernel/cpu/perf_event_intel_uncore.c:uncore_type_init()
>> do exactly what TJ says, its dynamically allocating struct attribute.
>>
>> Now, let me try and trigger that locally, that should not be skylake
>> specific at all.
>
> 4.1-rc2+ with lockdep enabled boots without issue on my ivb-ep, no idea
> what's going on on your skylake thingy.

Managed to debug it is the intel_pt driver which fails.

Which if I see correctly is passing in attr_groups from the data section
which should be OK. So I don't know either.. reported offending address
is somewhere, terabytes away, before start of kernel.

Regards,

Tvrtko