perf tools: Make the breakpoint events sample period default to 1
authorJovi Zhang <bookjovi@gmail.com>
Sat, 14 Jul 2012 19:03:10 +0000 (03:03 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 25 Jul 2012 14:37:46 +0000 (11:37 -0300)
There have one problem about hw_breakpoint perf event, as watched, the
events reported to userspace is not correctly, sometime one trigger
bp_event report several events, sometime bp_event cannot go through to
user.

The root cause is attr->freq is 1 passed to kernel defaultly in bp
events, this make kernel calculate event period not as expect, make
sample period to 1 will change attr->freq to 0, to fix this problem.

This patch is similar with commit f92128 about tracepoint events:
    perf: Make the trace events sample period default to 1

Signed-off-by: Jovi Zhang <bookjovi@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/CACV3sbLF8taiCq_VYW-sgRJyupeMzg58C7ZXfMe3xZUiH_Mx6w@mail.gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/parse-events.c

index a729945838f5104b0e40481f2f37ad9181310307..74a5af4d33ec5fc4720639c7634d37cf94e54a92 100644 (file)
@@ -490,6 +490,7 @@ int parse_events_add_breakpoint(struct list_head **list, int *idx,
                attr.bp_len = HW_BREAKPOINT_LEN_4;
 
        attr.type = PERF_TYPE_BREAKPOINT;
+       attr.sample_period = 1;
 
        return add_event(list, idx, &attr, NULL);
 }