perf, x86: Less disastrous PEBS/BTS buffer allocation failure
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Tue, 19 Oct 2010 12:22:50 +0000 (14:22 +0200)
committerIngo Molnar <mingo@elte.hu>
Fri, 22 Oct 2010 12:18:26 +0000 (14:18 +0200)
commit6809b6ea73f7291f2e495d40397f1172c9caa77e
tree3653223bfd80867056da5e4f57be9512c67d706f
parent5553be2620ac901c21a25657bd5b59f73254e6d5
perf, x86: Less disastrous PEBS/BTS buffer allocation failure

Currently PEBS/BTS buffers are allocated when we instantiate the first
event, when this fails everything fails.

This is a problem because esp. BTS tries to allocate a rather large
buffer (64K), which can easily fail.

This patch changes the logic such that when either buffer allocation
fails, we simply don't allow events that would use these facilities,
but continue functioning for all other events.

This logic comes from a much larger patch proposed by Stephane.

Suggested-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Stephane Eranian <eranian@google.com>
LKML-Reference: <20101019134808.354429461@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/cpu/perf_event.c
arch/x86/kernel/cpu/perf_event_intel_ds.c