Re: [PATCH v4 1/2] perf tool: encapsulate dsos list head into struct dsos

From: Waiman Long
Date: Mon Sep 29 2014 - 13:30:17 EST

On 09/28/2014 11:54 PM, Namhyung Kim wrote:
Hi Arnaldo and Waiman,

On Fri, 26 Sep 2014 11:06:25 -0300, Arnaldo Carvalho de Melo wrote:
Em Wed, Sep 24, 2014 at 11:45:39AM -0400, Waiman Long escreveu:
This is a precursor patch to enable long name searching of DSOs
using the rbtree. In this patch, a new dsos structure is created
which contains only a list head structure for the moment. The new
dsos structure is used, in turn, in the machine structure for the
user_dsos and kernel_dsos fields. Only the following 3 dsos functions
are modified to accept the new dsos structure parameter instead
of list_head:
- dsos__add()
- dsos__find()
- __dsos__findnew()

Because of the need to find out the corresponding dsos structure to
properly call dsos__add() in dso__load_sym() of util/symbol-elf.c,
a new dsos field is also added to the dso structure.
Argh, yeah, that is unfortunate that we need to add entries that deep
inside dso__load_syms() :-\
But it seems we can use map->groups->machine to find out the head/root
of the dsos..


There are 2 dsos at the machine structure level - user_dsos and kernel_dsos. In this particular case, it should be kernel_dsos. I can remove the dsos pointer and hardcode it to use the kernel_dsos if you guys think it is acceptable.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at