perf-record: Remove -M
Since it is not allowed to create cross-cpu (or cross-task) buffers, this option is no longer valid. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Mike Galbraith <efault@gmx.de> Cc: Steven Rostedt <rostedt@goodmis.org> LKML-Reference: <20100521090710.582740993@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
0f139300c9
commit
57adc51dce
@@ -61,8 +61,6 @@ static bool call_graph = false;
|
|||||||
static bool inherit_stat = false;
|
static bool inherit_stat = false;
|
||||||
static bool no_samples = false;
|
static bool no_samples = false;
|
||||||
static bool sample_address = false;
|
static bool sample_address = false;
|
||||||
static bool multiplex = false;
|
|
||||||
static int multiplex_fd = -1;
|
|
||||||
|
|
||||||
static long samples = 0;
|
static long samples = 0;
|
||||||
static u64 bytes_written = 0;
|
static u64 bytes_written = 0;
|
||||||
@@ -366,27 +364,19 @@ try_again:
|
|||||||
*/
|
*/
|
||||||
if (group && group_fd == -1)
|
if (group && group_fd == -1)
|
||||||
group_fd = fd[nr_cpu][counter][thread_index];
|
group_fd = fd[nr_cpu][counter][thread_index];
|
||||||
if (multiplex && multiplex_fd == -1)
|
|
||||||
multiplex_fd = fd[nr_cpu][counter][thread_index];
|
|
||||||
|
|
||||||
if (multiplex && fd[nr_cpu][counter][thread_index] != multiplex_fd) {
|
event_array[nr_poll].fd = fd[nr_cpu][counter][thread_index];
|
||||||
|
event_array[nr_poll].events = POLLIN;
|
||||||
|
nr_poll++;
|
||||||
|
|
||||||
ret = ioctl(fd[nr_cpu][counter][thread_index], PERF_EVENT_IOC_SET_OUTPUT, multiplex_fd);
|
mmap_array[nr_cpu][counter][thread_index].counter = counter;
|
||||||
assert(ret != -1);
|
mmap_array[nr_cpu][counter][thread_index].prev = 0;
|
||||||
} else {
|
mmap_array[nr_cpu][counter][thread_index].mask = mmap_pages*page_size - 1;
|
||||||
event_array[nr_poll].fd = fd[nr_cpu][counter][thread_index];
|
mmap_array[nr_cpu][counter][thread_index].base = mmap(NULL, (mmap_pages+1)*page_size,
|
||||||
event_array[nr_poll].events = POLLIN;
|
PROT_READ|PROT_WRITE, MAP_SHARED, fd[nr_cpu][counter][thread_index], 0);
|
||||||
nr_poll++;
|
if (mmap_array[nr_cpu][counter][thread_index].base == MAP_FAILED) {
|
||||||
|
error("failed to mmap with %d (%s)\n", errno, strerror(errno));
|
||||||
mmap_array[nr_cpu][counter][thread_index].counter = counter;
|
exit(-1);
|
||||||
mmap_array[nr_cpu][counter][thread_index].prev = 0;
|
|
||||||
mmap_array[nr_cpu][counter][thread_index].mask = mmap_pages*page_size - 1;
|
|
||||||
mmap_array[nr_cpu][counter][thread_index].base = mmap(NULL, (mmap_pages+1)*page_size,
|
|
||||||
PROT_READ|PROT_WRITE, MAP_SHARED, fd[nr_cpu][counter][thread_index], 0);
|
|
||||||
if (mmap_array[nr_cpu][counter][thread_index].base == MAP_FAILED) {
|
|
||||||
error("failed to mmap with %d (%s)\n", errno, strerror(errno));
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filter != NULL) {
|
if (filter != NULL) {
|
||||||
@@ -820,8 +810,6 @@ static const struct option options[] = {
|
|||||||
"Sample addresses"),
|
"Sample addresses"),
|
||||||
OPT_BOOLEAN('n', "no-samples", &no_samples,
|
OPT_BOOLEAN('n', "no-samples", &no_samples,
|
||||||
"don't sample"),
|
"don't sample"),
|
||||||
OPT_BOOLEAN('M', "multiplex", &multiplex,
|
|
||||||
"multiplex counter output in a single channel"),
|
|
||||||
OPT_END()
|
OPT_END()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user