mirror of https://github.com/torvalds/linux.git
If the kernel is compiled with the CONFIG_LOCKDEP option, the conditional
might_sleep_if() deep in kmem_cache_alloc() will generate the following
trace, and potentially cause a deadlock when another LBR event is added:
[] BUG: sleeping function called from invalid context at include/linux/sched/mm.h:196
[] Call Trace:
[] kmem_cache_alloc+0x36/0x250
[] intel_pmu_lbr_add+0x152/0x170
[] x86_pmu_add+0x83/0xd0
Make it symmetric with the release_lbr_buffers() call and mirror the
existing DS buffers.
Fixes:
|
||
|---|---|---|
| .. | ||
| Makefile | ||
| bts.c | ||
| core.c | ||
| cstate.c | ||
| ds.c | ||
| knc.c | ||
| lbr.c | ||
| p4.c | ||
| p6.c | ||
| pt.c | ||
| pt.h | ||
| uncore.c | ||
| uncore.h | ||
| uncore_discovery.c | ||
| uncore_discovery.h | ||
| uncore_nhmex.c | ||
| uncore_snb.c | ||
| uncore_snbep.c | ||