Revert "perf tools: Default to cpu// for events v5"

This reverts commit 50e200f079 ("perf tools: Default to cpu// for
events v5")

The fixup cannot handle the case that
new style format(which without //) mixed with
other different formats.

For example,
group events with new style format: {mem-stores,mem-loads}
some hardware event + new style event: cycles,mem-loads
Cache event + new style event: LLC-loads,mem-loads
Raw event + new style event:
cpu/event=0xc8,umask=0x08/,mem-loads
old style event and new stytle mixture: mem-stores,cpu/mem-loads/

Signed-off-by: Kan Liang <kan.liang@intel.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1412694532-23391-2-git-send-email-kan.liang@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Kan Liang 2014-10-07 11:08:49 -04:00 committed by Arnaldo Carvalho de Melo
parent b56d5beff4
commit 42f60c2d63
3 changed files with 1 additions and 54 deletions

View file

@ -1,4 +1,3 @@
#include <string.h> #include <string.h>
void *memdup(const void *src, size_t len); void *memdup(const void *src, size_t len);
int str_append(char **s, int *len, const char *a);

View file

@ -6,7 +6,7 @@
#include "parse-options.h" #include "parse-options.h"
#include "parse-events.h" #include "parse-events.h"
#include "exec_cmd.h" #include "exec_cmd.h"
#include "linux/string.h" #include "string.h"
#include "symbol.h" #include "symbol.h"
#include "cache.h" #include "cache.h"
#include "header.h" #include "header.h"
@ -863,32 +863,6 @@ int parse_events_name(struct list_head *list, char *name)
return 0; return 0;
} }
static int parse_events__scanner(const char *str, void *data, int start_token);
static int parse_events_fixup(int ret, const char *str, void *data,
int start_token)
{
char *o = strdup(str);
char *s = NULL;
char *t = o;
char *p;
int len = 0;
if (!o)
return ret;
while ((p = strsep(&t, ",")) != NULL) {
if (s)
str_append(&s, &len, ",");
str_append(&s, &len, "cpu/");
str_append(&s, &len, p);
str_append(&s, &len, "/");
}
free(o);
if (!s)
return -ENOMEM;
return parse_events__scanner(s, data, start_token);
}
static int parse_events__scanner(const char *str, void *data, int start_token) static int parse_events__scanner(const char *str, void *data, int start_token)
{ {
YY_BUFFER_STATE buffer; YY_BUFFER_STATE buffer;
@ -909,8 +883,6 @@ static int parse_events__scanner(const char *str, void *data, int start_token)
parse_events__flush_buffer(buffer, scanner); parse_events__flush_buffer(buffer, scanner);
parse_events__delete_buffer(buffer, scanner); parse_events__delete_buffer(buffer, scanner);
parse_events_lex_destroy(scanner); parse_events_lex_destroy(scanner);
if (ret && !strchr(str, '/'))
ret = parse_events_fixup(ret, str, data, start_token);
return ret; return ret;
} }

View file

@ -357,27 +357,3 @@ void *memdup(const void *src, size_t len)
return p; return p;
} }
/**
* str_append - reallocate string and append another
* @s: pointer to string pointer
* @len: pointer to len (initialized)
* @a: string to append.
*/
int str_append(char **s, int *len, const char *a)
{
int olen = *s ? strlen(*s) : 0;
int nlen = olen + strlen(a) + 1;
if (*len < nlen) {
*len = *len * 2;
if (*len < nlen)
*len = nlen;
*s = realloc(*s, *len);
if (!*s)
return -ENOMEM;
if (olen == 0)
**s = 0;
}
strcat(*s, a);
return 0;
}