1
0
Fork 0

perf tools: Separate dso data related variables

Add separated structure/namespace for data related
variables. We are going to add mode of them, so this
way they will be clearly separated.

Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jean Pihet <jean.pihet@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1401892622-30848-3-git-send-email-jolsa@kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
hifive-unleashed-5.1
Jiri Olsa 2014-05-07 18:30:45 +02:00
parent 0c4e774fad
commit ca40e2af1f
2 changed files with 10 additions and 5 deletions

View File

@ -292,7 +292,7 @@ dso_cache__read(struct dso *dso, struct machine *machine,
cache->offset = cache_offset;
cache->size = ret;
dso_cache__insert(&dso->cache, cache);
dso_cache__insert(&dso->data.cache, cache);
ret = dso_cache__memcpy(cache, offset, data, size);
@ -310,7 +310,7 @@ static ssize_t dso_cache_read(struct dso *dso, struct machine *machine,
{
struct dso_cache *cache;
cache = dso_cache__find(&dso->cache, offset);
cache = dso_cache__find(&dso->data.cache, offset);
if (cache)
return dso_cache__memcpy(cache, offset, data, size);
else
@ -473,7 +473,7 @@ struct dso *dso__new(const char *name)
dso__set_short_name(dso, dso->name, false);
for (i = 0; i < MAP__NR_TYPES; ++i)
dso->symbols[i] = dso->symbol_names[i] = RB_ROOT;
dso->cache = RB_ROOT;
dso->data.cache = RB_ROOT;
dso->symtab_type = DSO_BINARY_TYPE__NOT_FOUND;
dso->binary_type = DSO_BINARY_TYPE__NOT_FOUND;
dso->loaded = 0;
@ -506,7 +506,7 @@ void dso__delete(struct dso *dso)
dso->long_name_allocated = false;
}
dso_cache__free(&dso->cache);
dso_cache__free(&dso->data.cache);
dso__free_a2l(dso);
zfree(&dso->symsrc_filename);
free(dso);

View File

@ -76,7 +76,6 @@ struct dso {
struct list_head node;
struct rb_root symbols[MAP__NR_TYPES];
struct rb_root symbol_names[MAP__NR_TYPES];
struct rb_root cache;
void *a2l;
char *symsrc_filename;
unsigned int a2l_fails;
@ -99,6 +98,12 @@ struct dso {
const char *long_name;
u16 long_name_len;
u16 short_name_len;
/* dso data file */
struct {
struct rb_root cache;
} data;
char name[0];
};