Symbol: dsos
tools/perf/bench/inject-buildid.c
107
dsos = calloc(nr_mmaps * DSO_MMAP_RATIO, sizeof(*dsos));
tools/perf/bench/inject-buildid.c
108
if (dsos == NULL) {
tools/perf/bench/inject-buildid.c
124
struct bench_dso *dso = &dsos[i];
tools/perf/bench/inject-buildid.c
128
free(dsos);
tools/perf/bench/inject-buildid.c
370
struct bench_dso *dso = &dsos[idx];
tools/perf/bench/inject-buildid.c
53
static struct bench_dso *dsos;
tools/perf/bench/inject-buildid.c
82
struct bench_dso *dso = &dsos[nr_dsos];
tools/perf/builtin-inject.c
1622
return dsos__for_each_dso(&gs->session->machines.host.dsos,
tools/perf/tests/dso-data.c
117
static void dsos__delete(struct dsos *dsos)
tools/perf/tests/dso-data.c
119
for (unsigned int i = 0; i < dsos->cnt; i++) {
tools/perf/tests/dso-data.c
120
struct dso *dso = dsos->dsos[i];
tools/perf/tests/dso-data.c
125
dsos__exit(dsos);
tools/perf/tests/dso-data.c
138
dsos__init(&machine.dsos);
tools/perf/tests/dso-data.c
141
TEST_ASSERT_VAL("Failed to add dso", !dsos__add(&machine.dsos, dso));
tools/perf/tests/dso-data.c
186
dsos__delete(&machine.dsos);
tools/perf/tests/dso-data.c
216
static int dsos__create(int cnt, int size, struct dsos *dsos)
tools/perf/tests/dso-data.c
220
dsos__init(dsos);
tools/perf/tests/dso-data.c
229
TEST_ASSERT_VAL("failed to add dso", !dsos__add(dsos, dso));
tools/perf/tests/dso-data.c
267
!dsos__create(dso_cnt, TEST_FILE_SIZE, &machine.dsos));
tools/perf/tests/dso-data.c
270
struct dso *dso = machine.dsos.dsos[i];
tools/perf/tests/dso-data.c
290
TEST_ASSERT_VAL("dsos[0] is not open", dso__data(machine.dsos.dsos[0])->fd != -1);
tools/perf/tests/dso-data.c
293
fd = dso__data_fd(machine.dsos.dsos[i], &machine);
tools/perf/tests/dso-data.c
297
TEST_ASSERT_VAL("failed to close dsos[0]", dso__data(machine.dsos.dsos[0])->fd == -1);
tools/perf/tests/dso-data.c
300
dsos__delete(&machine.dsos);
tools/perf/tests/dso-data.c
325
#define dso_0 (machine.dsos.dsos[0])
tools/perf/tests/dso-data.c
326
#define dso_1 (machine.dsos.dsos[1])
tools/perf/tests/dso-data.c
327
#define dso_2 (machine.dsos.dsos[2])
tools/perf/tests/dso-data.c
348
!dsos__create(3, TEST_FILE_SIZE, &machine.dsos));
tools/perf/tests/dso-data.c
387
dsos__delete(&machine.dsos);
tools/perf/util/build-id.c
365
return dsos__for_each_dso(&machine->dsos, machine__write_buildid_table_cb, &args);
tools/perf/util/build-id.c
953
return dsos__read_build_ids(&machine->dsos, with_hits);
tools/perf/util/dso.c
1489
struct dsos *dsos = dso__dsos(dso);
tools/perf/util/dso.c
1494
if (dsos) {
tools/perf/util/dso.c
1499
down_write(&dsos->lock);
tools/perf/util/dso.c
1501
dsos->sorted = false;
tools/perf/util/dso.c
1502
up_write(&dsos->lock);
tools/perf/util/dso.c
1548
struct dsos *dsos = dso__dsos(dso);
tools/perf/util/dso.c
1570
if (changed && dsos)
tools/perf/util/dso.c
1571
dsos->sorted = false;
tools/perf/util/dso.c
1606
struct dsos *dsos = dso__dsos(dso);
tools/perf/util/dso.c
1611
if (dsos) {
tools/perf/util/dso.c
1616
down_write(&dsos->lock);
tools/perf/util/dso.c
1618
dsos->sorted = false;
tools/perf/util/dso.c
1619
up_write(&dsos->lock);
tools/perf/util/dso.h
254
struct dsos *dsos;
tools/perf/util/dso.h
456
static inline struct dsos *dso__dsos(struct dso *dso)
tools/perf/util/dso.h
458
return RC_CHK_ACCESS(dso)->dsos;
tools/perf/util/dso.h
461
static inline void dso__set_dsos(struct dso *dso, struct dsos *dsos)
tools/perf/util/dso.h
463
RC_CHK_ACCESS(dso)->dsos = dsos;
tools/perf/util/dsos.c
106
dsos__for_each_dso(dsos, dsos__read_build_ids_cb, &args);
tools/perf/util/dsos.c
14
void dsos__init(struct dsos *dsos)
tools/perf/util/dsos.c
156
static struct dso *__dsos__find_by_longname_id(struct dsos *dsos,
tools/perf/util/dsos.c
16
init_rwsem(&dsos->lock);
tools/perf/util/dsos.c
160
SHARED_LOCKS_REQUIRED(dsos->lock)
tools/perf/util/dsos.c
168
if (dsos->dsos == NULL)
tools/perf/util/dsos.c
171
if (!dsos->sorted) {
tools/perf/util/dsos.c
175
up_read(&dsos->lock);
tools/perf/util/dsos.c
176
down_write(&dsos->lock);
tools/perf/util/dsos.c
177
dso = __dsos__find_by_longname_id(dsos, name, id,
tools/perf/util/dsos.c
179
up_write(&dsos->lock);
tools/perf/util/dsos.c
18
dsos->cnt = 0;
tools/perf/util/dsos.c
180
down_read(&dsos->lock);
tools/perf/util/dsos.c
183
qsort(dsos->dsos, dsos->cnt, sizeof(struct dso *),
tools/perf/util/dsos.c
185
dsos->sorted = true;
tools/perf/util/dsos.c
188
res = bsearch(&key, dsos->dsos, dsos->cnt, sizeof(struct dso *),
tools/perf/util/dsos.c
19
dsos->allocated = 0;
tools/perf/util/dsos.c
196
int __dsos__add(struct dsos *dsos, struct dso *dso)
tools/perf/util/dsos.c
20
dsos->dsos = NULL;
tools/perf/util/dsos.c
201
if (dsos->cnt == dsos->allocated) {
tools/perf/util/dsos.c
205
if (dsos->allocated > 0)
tools/perf/util/dsos.c
206
to_allocate = dsos->allocated * 2;
tools/perf/util/dsos.c
207
temp = realloc(dsos->dsos, sizeof(struct dso *) * to_allocate);
tools/perf/util/dsos.c
21
dsos->sorted = true;
tools/perf/util/dsos.c
210
dsos->dsos = temp;
tools/perf/util/dsos.c
211
dsos->allocated = to_allocate;
tools/perf/util/dsos.c
213
if (!dsos->sorted) {
tools/perf/util/dsos.c
214
dsos->dsos[dsos->cnt++] = dso__get(dso);
tools/perf/util/dsos.c
216
int low = 0, high = dsos->cnt - 1;
tools/perf/util/dsos.c
217
int insert = dsos->cnt; /* Default to inserting at the end. */
tools/perf/util/dsos.c
221
int cmp = dsos__cmp_long_name_id_short_name(&dsos->dsos[mid], &dso);
tools/perf/util/dsos.c
230
memmove(&dsos->dsos[insert + 1], &dsos->dsos[insert],
tools/perf/util/dsos.c
231
(dsos->cnt - insert) * sizeof(struct dso *));
tools/perf/util/dsos.c
232
dsos->cnt++;
tools/perf/util/dsos.c
233
dsos->dsos[insert] = dso__get(dso);
tools/perf/util/dsos.c
235
dso__set_dsos(dso, dsos);
tools/perf/util/dsos.c
239
int dsos__add(struct dsos *dsos, struct dso *dso)
tools/perf/util/dsos.c
24
static void dsos__purge(struct dsos *dsos)
tools/perf/util/dsos.c
243
down_write(&dsos->lock);
tools/perf/util/dsos.c
244
ret = __dsos__add(dsos, dso);
tools/perf/util/dsos.c
245
up_write(&dsos->lock);
tools/perf/util/dsos.c
26
down_write(&dsos->lock);
tools/perf/util/dsos.c
267
static struct dso *__dsos__find_id(struct dsos *dsos, const char *name, const struct dso_id *id,
tools/perf/util/dsos.c
269
SHARED_LOCKS_REQUIRED(dsos->lock)
tools/perf/util/dsos.c
28
for (unsigned int i = 0; i < dsos->cnt; i++) {
tools/perf/util/dsos.c
280
__dsos__for_each_dso(dsos, dsos__find_id_cb, &args);
tools/perf/util/dsos.c
283
res = __dsos__find_by_longname_id(dsos, name, id, write_locked);
tools/perf/util/dsos.c
287
struct dso *dsos__find(struct dsos *dsos, const char *name, bool cmp_short)
tools/perf/util/dsos.c
29
struct dso *dso = dsos->dsos[i];
tools/perf/util/dsos.c
291
down_read(&dsos->lock);
tools/perf/util/dsos.c
292
res = __dsos__find_id(dsos, name, &dso_id_empty, cmp_short, /*write_locked=*/false);
tools/perf/util/dsos.c
293
up_read(&dsos->lock);
tools/perf/util/dsos.c
316
static struct dso *__dsos__addnew_id(struct dsos *dsos, const char *name, const struct dso_id *id)
tools/perf/util/dsos.c
327
__dsos__add(dsos, dso);
tools/perf/util/dsos.c
332
static struct dso *__dsos__findnew_id(struct dsos *dsos, const char *name, const struct dso_id *id)
tools/perf/util/dsos.c
333
SHARED_LOCKS_REQUIRED(dsos->lock)
tools/perf/util/dsos.c
335
struct dso *dso = __dsos__find_id(dsos, name, id, false, /*write_locked=*/true);
tools/perf/util/dsos.c
340
return dso ? dso : __dsos__addnew_id(dsos, name, id);
tools/perf/util/dsos.c
343
struct dso *dsos__findnew_id(struct dsos *dsos, const char *name, const struct dso_id *id)
tools/perf/util/dsos.c
346
down_write(&dsos->lock);
tools/perf/util/dsos.c
347
dso = __dsos__findnew_id(dsos, name, id);
tools/perf/util/dsos.c
348
up_write(&dsos->lock);
tools/perf/util/dsos.c
35
zfree(&dsos->dsos);
tools/perf/util/dsos.c
36
dsos->cnt = 0;
tools/perf/util/dsos.c
37
dsos->allocated = 0;
tools/perf/util/dsos.c
371
size_t dsos__fprintf_buildid(struct dsos *dsos, FILE *fp,
tools/perf/util/dsos.c
38
dsos->sorted = true;
tools/perf/util/dsos.c
381
dsos__for_each_dso(dsos, dsos__fprintf_buildid_cb, &args);
tools/perf/util/dsos.c
398
size_t dsos__fprintf(struct dsos *dsos, FILE *fp)
tools/perf/util/dsos.c
40
up_write(&dsos->lock);
tools/perf/util/dsos.c
405
dsos__for_each_dso(dsos, dsos__fprintf_cb, &args);
tools/perf/util/dsos.c
415
int dsos__hit_all(struct dsos *dsos)
tools/perf/util/dsos.c
417
return dsos__for_each_dso(dsos, dsos__hit_all_cb, NULL);
tools/perf/util/dsos.c
420
struct dso *dsos__findnew_module_dso(struct dsos *dsos,
tools/perf/util/dsos.c
427
down_write(&dsos->lock);
tools/perf/util/dsos.c
429
dso = __dsos__find_id(dsos, m->name, &dso_id_empty, /*cmp_short=*/true,
tools/perf/util/dsos.c
43
void dsos__exit(struct dsos *dsos)
tools/perf/util/dsos.c
432
up_write(&dsos->lock);
tools/perf/util/dsos.c
442
up_write(&dsos->lock);
tools/perf/util/dsos.c
449
__dsos__add(dsos, dso);
tools/perf/util/dsos.c
45
dsos__purge(dsos);
tools/perf/util/dsos.c
451
up_write(&dsos->lock);
tools/perf/util/dsos.c
46
exit_rwsem(&dsos->lock);
tools/perf/util/dsos.c
479
struct dso *dsos__find_kernel_dso(struct dsos *dsos)
tools/perf/util/dsos.c
483
dsos__for_each_dso(dsos, dsos__find_kernel_dso_cb, &res);
tools/perf/util/dsos.c
487
int dsos__for_each_dso(struct dsos *dsos, int (*cb)(struct dso *dso, void *data), void *data)
tools/perf/util/dsos.c
491
down_read(&dsos->lock);
tools/perf/util/dsos.c
492
err = __dsos__for_each_dso(dsos, cb, data);
tools/perf/util/dsos.c
493
up_read(&dsos->lock);
tools/perf/util/dsos.c
50
static int __dsos__for_each_dso(struct dsos *dsos,
tools/perf/util/dsos.c
54
for (unsigned int i = 0; i < dsos->cnt; i++) {
tools/perf/util/dsos.c
55
struct dso *dso = dsos->dsos[i];
tools/perf/util/dsos.c
99
bool dsos__read_build_ids(struct dsos *dsos, bool with_hits)
tools/perf/util/dsos.h
22
struct dso **dsos;
tools/perf/util/dsos.h
28
void dsos__init(struct dsos *dsos);
tools/perf/util/dsos.h
29
void dsos__exit(struct dsos *dsos);
tools/perf/util/dsos.h
31
int __dsos__add(struct dsos *dsos, struct dso *dso);
tools/perf/util/dsos.h
32
int dsos__add(struct dsos *dsos, struct dso *dso);
tools/perf/util/dsos.h
33
struct dso *dsos__find(struct dsos *dsos, const char *name, bool cmp_short);
tools/perf/util/dsos.h
35
struct dso *dsos__findnew_id(struct dsos *dsos, const char *name, const struct dso_id *id);
tools/perf/util/dsos.h
37
bool dsos__read_build_ids(struct dsos *dsos, bool with_hits);
tools/perf/util/dsos.h
39
size_t dsos__fprintf_buildid(struct dsos *dsos, FILE *fp,
tools/perf/util/dsos.h
41
size_t dsos__fprintf(struct dsos *dsos, FILE *fp);
tools/perf/util/dsos.h
43
int dsos__hit_all(struct dsos *dsos);
tools/perf/util/dsos.h
45
struct dso *dsos__findnew_module_dso(struct dsos *dsos, struct machine *machine,
tools/perf/util/dsos.h
48
struct dso *dsos__find_kernel_dso(struct dsos *dsos);
tools/perf/util/dsos.h
50
int dsos__for_each_dso(struct dsos *dsos, int (*cb)(struct dso *dso, void *data), void *data);
tools/perf/util/machine.c
1640
return dsos__for_each_dso(&machine->dsos, machine__uses_kcore_cb, NULL) != 0 ? true : false;
tools/perf/util/machine.c
1721
struct dso *kernel = dsos__find_kernel_dso(&machine->dsos);
tools/perf/util/machine.c
218
dsos__exit(&machine->dsos);
tools/perf/util/machine.c
3249
return dsos__findnew_id(&machine->dsos, filename, id);
tools/perf/util/machine.c
3292
return dsos__for_each_dso(&machine->dsos, machine__for_each_dso_cb, &args);
tools/perf/util/machine.c
3368
return dsos__hit_all(&machine->dsos);
tools/perf/util/machine.c
83
dsos__init(&machine->dsos);
tools/perf/util/machine.c
902
dso = dsos__findnew_module_dso(&machine->dsos, machine, &m, filename);
tools/perf/util/machine.c
926
size_t ret = dsos__fprintf(&machines->host.dsos, fp);
tools/perf/util/machine.c
930
ret += dsos__fprintf(&pos->dsos, fp);
tools/perf/util/machine.c
939
return dsos__fprintf_buildid(&m->dsos, fp, skip, parm);
tools/perf/util/machine.h
45
struct dsos dsos;
tools/perf/util/map.c
199
struct dso *header_bid_dso = dsos__find(&machine->dsos, filename, false);
tools/perf/util/symbol-elf.c
1505
dsos__add(&maps__machine(kmaps)->dsos, curr_dso);
tools/perf/util/synthetic-events.c
394
dso = dsos__findnew_id(&machine->dsos, event->filename, &dso_id);
tools/perf/util/vdso.c
134
__dsos__add(&machine->dsos, dso);
tools/perf/util/vdso.c
253
dso = dsos__find(&machine->dsos, vdso_file->dso_name, true);
tools/perf/util/vdso.c
307
dso = dsos__find(&machine->dsos, DSO__NAME_VDSO32, true);
tools/perf/util/vdso.c
309
dso = dsos__find(&machine->dsos, DSO__NAME_VDSO,
tools/perf/util/vdso.c
318
dso = dsos__find(&machine->dsos, DSO__NAME_VDSOX32, true);
tools/perf/util/vdso.c
323
dso = dsos__find(&machine->dsos, DSO__NAME_VDSO, true);
tools/perf/util/vdso.c
353
dso = dsos__find(&machine->dsos, DSO__NAME_VDSO, true);