perf evsel: Update sample_size when setting sample_type bits
authorArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 10 Dec 2012 17:53:43 +0000 (14:53 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 10 Dec 2012 17:53:43 +0000 (14:53 -0300)
commit7be5ebe8767eaa482e18f566de5f56c1519abf59
tree353f1845712fbe56ac6990dbc8fb83e07dc6e06a
parent3f067dcab711c2df7eefcfc5b3aa9a0e2b5f7d42
perf evsel: Update sample_size when setting sample_type bits

We use evsel->sample_size to detect underflows in
perf_evsel__parse_sample, but we were failing to update it after
perf_evsel__init(), i.e. when we decide, after creating an evsel, that
we want some extra field bit set.

Fix it by introducing methods to set a bit that will take care of
correctly adjusting evsel->sample_size.

Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-2ny5pzsing0dcth7hws48x9c@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-record.c
tools/perf/builtin-top.c
tools/perf/tests/perf-record.c
tools/perf/util/evlist.c
tools/perf/util/evsel.c
tools/perf/util/evsel.h