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

From: Tvrtko Ursulin
Date: Fri May 08 2015 - 10:38:45 EST



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