Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b9032e0 authored by Alexander Yarygin's avatar Alexander Yarygin Committed by Jiri Olsa
Browse files

perf tools: Parse tracepoints with '-' in system name



Trace events potentially can have a '-' in their trace system name,
e.g. kvm on s390 defines kvm-s390:* tracepoints.
We could not parse them, because there was no rule for this:
  $ sudo ./perf top -e "kvm-s390:*"
  invalid or unsupported event: 'kvm-s390:*'

This patch adds an extra rule to event_legacy_tracepoint which handles
those cases. Without the patch, perf will not accept such tracepoints in
the -e option.

Signed-off-by: default avatarAlexander Yarygin <yarygin@linux.vnet.ibm.com>
Tested-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Acked-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Link: http://lkml.kernel.org/r/1398440047-6641-2-git-send-email-yarygin@linux.vnet.ibm.com


Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
parent e148c760
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -299,6 +299,18 @@ PE_PREFIX_MEM PE_VALUE sep_dc
}

event_legacy_tracepoint:
PE_NAME '-' PE_NAME ':' PE_NAME
{
	struct parse_events_evlist *data = _data;
	struct list_head *list;
	char sys_name[128];
	snprintf(&sys_name, 128, "%s-%s", $1, $3);

	ALLOC_LIST(list);
	ABORT_ON(parse_events_add_tracepoint(list, &data->idx, &sys_name, $5));
	$$ = list;
}
|
PE_NAME ':' PE_NAME
{
	struct parse_events_evlist *data = _data;