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
367
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
1473
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
362
return dsos__for_each_dso(&machine->dsos, machine__write_buildid_table_cb, &args);
tools/perf/util/build-id.c
950
return dsos__read_build_ids(&machine->dsos, with_hits);
tools/perf/util/dso.c
1454
struct dsos *dsos = dso__dsos(dso);
tools/perf/util/dso.c
1459
if (dsos) {
tools/perf/util/dso.c
1464
down_write(&dsos->lock);
tools/perf/util/dso.c
1466
dsos->sorted = false;
tools/perf/util/dso.c
1467
up_write(&dsos->lock);
tools/perf/util/dso.c
1513
struct dsos *dsos = dso__dsos(dso);
tools/perf/util/dso.c
1535
if (changed && dsos)
tools/perf/util/dso.c
1536
dsos->sorted = false;
tools/perf/util/dso.c
1571
struct dsos *dsos = dso__dsos(dso);
tools/perf/util/dso.c
1576
if (dsos) {
tools/perf/util/dso.c
1581
down_write(&dsos->lock);
tools/perf/util/dso.c
1583
dsos->sorted = false;
tools/perf/util/dso.c
1584
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
100
bool dsos__read_build_ids(struct dsos *dsos, bool with_hits)
tools/perf/util/dsos.c
107
dsos__for_each_dso(dsos, dsos__read_build_ids_cb, &args);
tools/perf/util/dsos.c
15
void dsos__init(struct dsos *dsos)
tools/perf/util/dsos.c
157
static struct dso *__dsos__find_by_longname_id(struct dsos *dsos,
tools/perf/util/dsos.c
161
SHARED_LOCKS_REQUIRED(dsos->lock)
tools/perf/util/dsos.c
169
if (dsos->dsos == NULL)
tools/perf/util/dsos.c
17
init_rwsem(&dsos->lock);
tools/perf/util/dsos.c
172
if (!dsos->sorted) {
tools/perf/util/dsos.c
176
up_read(&dsos->lock);
tools/perf/util/dsos.c
177
down_write(&dsos->lock);
tools/perf/util/dsos.c
178
dso = __dsos__find_by_longname_id(dsos, name, id,
tools/perf/util/dsos.c
180
up_write(&dsos->lock);
tools/perf/util/dsos.c
181
down_read(&dsos->lock);
tools/perf/util/dsos.c
184
qsort(dsos->dsos, dsos->cnt, sizeof(struct dso *),
tools/perf/util/dsos.c
186
dsos->sorted = true;
tools/perf/util/dsos.c
189
res = bsearch(&key, dsos->dsos, dsos->cnt, sizeof(struct dso *),
tools/perf/util/dsos.c
19
dsos->cnt = 0;
tools/perf/util/dsos.c
197
int __dsos__add(struct dsos *dsos, struct dso *dso)
tools/perf/util/dsos.c
199
if (dsos->cnt == dsos->allocated) {
tools/perf/util/dsos.c
20
dsos->allocated = 0;
tools/perf/util/dsos.c
203
if (dsos->allocated > 0)
tools/perf/util/dsos.c
204
to_allocate = dsos->allocated * 2;
tools/perf/util/dsos.c
205
temp = realloc(dsos->dsos, sizeof(struct dso *) * to_allocate);
tools/perf/util/dsos.c
208
dsos->dsos = temp;
tools/perf/util/dsos.c
209
dsos->allocated = to_allocate;
tools/perf/util/dsos.c
21
dsos->dsos = NULL;
tools/perf/util/dsos.c
211
if (!dsos->sorted) {
tools/perf/util/dsos.c
212
dsos->dsos[dsos->cnt++] = dso__get(dso);
tools/perf/util/dsos.c
214
int low = 0, high = dsos->cnt - 1;
tools/perf/util/dsos.c
215
int insert = dsos->cnt; /* Default to inserting at the end. */
tools/perf/util/dsos.c
219
int cmp = dsos__cmp_long_name_id_short_name(&dsos->dsos[mid], &dso);
tools/perf/util/dsos.c
22
dsos->sorted = true;
tools/perf/util/dsos.c
228
memmove(&dsos->dsos[insert + 1], &dsos->dsos[insert],
tools/perf/util/dsos.c
229
(dsos->cnt - insert) * sizeof(struct dso *));
tools/perf/util/dsos.c
230
dsos->cnt++;
tools/perf/util/dsos.c
231
dsos->dsos[insert] = dso__get(dso);
tools/perf/util/dsos.c
233
dso__set_dsos(dso, dsos);
tools/perf/util/dsos.c
237
int dsos__add(struct dsos *dsos, struct dso *dso)
tools/perf/util/dsos.c
241
down_write(&dsos->lock);
tools/perf/util/dsos.c
242
ret = __dsos__add(dsos, dso);
tools/perf/util/dsos.c
243
up_write(&dsos->lock);
tools/perf/util/dsos.c
25
static void dsos__purge(struct dsos *dsos)
tools/perf/util/dsos.c
265
static struct dso *__dsos__find_id(struct dsos *dsos, const char *name, const struct dso_id *id,
tools/perf/util/dsos.c
267
SHARED_LOCKS_REQUIRED(dsos->lock)
tools/perf/util/dsos.c
27
down_write(&dsos->lock);
tools/perf/util/dsos.c
278
__dsos__for_each_dso(dsos, dsos__find_id_cb, &args);
tools/perf/util/dsos.c
281
res = __dsos__find_by_longname_id(dsos, name, id, write_locked);
tools/perf/util/dsos.c
285
struct dso *dsos__find(struct dsos *dsos, const char *name, bool cmp_short)
tools/perf/util/dsos.c
289
down_read(&dsos->lock);
tools/perf/util/dsos.c
29
for (unsigned int i = 0; i < dsos->cnt; i++) {
tools/perf/util/dsos.c
290
res = __dsos__find_id(dsos, name, &dso_id_empty, cmp_short, /*write_locked=*/false);
tools/perf/util/dsos.c
291
up_read(&dsos->lock);
tools/perf/util/dsos.c
30
struct dso *dso = dsos->dsos[i];
tools/perf/util/dsos.c
327
static struct dso *__dsos__addnew_id(struct dsos *dsos, const char *name, const struct dso_id *id)
tools/perf/util/dsos.c
338
__dsos__add(dsos, dso);
tools/perf/util/dsos.c
343
static struct dso *__dsos__findnew_id(struct dsos *dsos, const char *name, const struct dso_id *id)
tools/perf/util/dsos.c
344
SHARED_LOCKS_REQUIRED(dsos->lock)
tools/perf/util/dsos.c
346
struct dso *dso = __dsos__find_id(dsos, name, id, false, /*write_locked=*/true);
tools/perf/util/dsos.c
351
return dso ? dso : __dsos__addnew_id(dsos, name, id);
tools/perf/util/dsos.c
354
struct dso *dsos__findnew_id(struct dsos *dsos, const char *name, const struct dso_id *id)
tools/perf/util/dsos.c
357
down_write(&dsos->lock);
tools/perf/util/dsos.c
358
dso = __dsos__findnew_id(dsos, name, id);
tools/perf/util/dsos.c
359
up_write(&dsos->lock);
tools/perf/util/dsos.c
36
zfree(&dsos->dsos);
tools/perf/util/dsos.c
37
dsos->cnt = 0;
tools/perf/util/dsos.c
38
dsos->allocated = 0;
tools/perf/util/dsos.c
382
size_t dsos__fprintf_buildid(struct dsos *dsos, FILE *fp,
tools/perf/util/dsos.c
39
dsos->sorted = true;
tools/perf/util/dsos.c
392
dsos__for_each_dso(dsos, dsos__fprintf_buildid_cb, &args);
tools/perf/util/dsos.c
409
size_t dsos__fprintf(struct dsos *dsos, FILE *fp)
tools/perf/util/dsos.c
41
up_write(&dsos->lock);
tools/perf/util/dsos.c
416
dsos__for_each_dso(dsos, dsos__fprintf_cb, &args);
tools/perf/util/dsos.c
426
int dsos__hit_all(struct dsos *dsos)
tools/perf/util/dsos.c
428
return dsos__for_each_dso(dsos, dsos__hit_all_cb, NULL);
tools/perf/util/dsos.c
431
struct dso *dsos__findnew_module_dso(struct dsos *dsos,
tools/perf/util/dsos.c
438
down_write(&dsos->lock);
tools/perf/util/dsos.c
44
void dsos__exit(struct dsos *dsos)
tools/perf/util/dsos.c
440
dso = __dsos__find_id(dsos, m->name, &dso_id_empty, /*cmp_short=*/true,
tools/perf/util/dsos.c
443
up_write(&dsos->lock);
tools/perf/util/dsos.c
453
up_write(&dsos->lock);
tools/perf/util/dsos.c
46
dsos__purge(dsos);
tools/perf/util/dsos.c
460
__dsos__add(dsos, dso);
tools/perf/util/dsos.c
462
up_write(&dsos->lock);
tools/perf/util/dsos.c
47
exit_rwsem(&dsos->lock);
tools/perf/util/dsos.c
490
struct dso *dsos__find_kernel_dso(struct dsos *dsos)
tools/perf/util/dsos.c
494
dsos__for_each_dso(dsos, dsos__find_kernel_dso_cb, &res);
tools/perf/util/dsos.c
498
int dsos__for_each_dso(struct dsos *dsos, int (*cb)(struct dso *dso, void *data), void *data)
tools/perf/util/dsos.c
502
down_read(&dsos->lock);
tools/perf/util/dsos.c
503
err = __dsos__for_each_dso(dsos, cb, data);
tools/perf/util/dsos.c
504
up_read(&dsos->lock);
tools/perf/util/dsos.c
51
static int __dsos__for_each_dso(struct dsos *dsos,
tools/perf/util/dsos.c
55
for (unsigned int i = 0; i < dsos->cnt; i++) {
tools/perf/util/dsos.c
56
struct dso *dso = dsos->dsos[i];
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
1611
return dsos__for_each_dso(&machine->dsos, machine__uses_kcore_cb, NULL) != 0 ? true : false;
tools/perf/util/machine.c
1678
struct dso *kernel = dsos__find_kernel_dso(&machine->dsos);
tools/perf/util/machine.c
214
dsos__exit(&machine->dsos);
tools/perf/util/machine.c
3220
return dsos__findnew_id(&machine->dsos, filename, id);
tools/perf/util/machine.c
3263
return dsos__for_each_dso(&machine->dsos, machine__for_each_dso_cb, &args);
tools/perf/util/machine.c
3339
return dsos__hit_all(&machine->dsos);
tools/perf/util/machine.c
85
dsos__init(&machine->dsos);
tools/perf/util/machine.c
881
dso = dsos__findnew_module_dso(&machine->dsos, machine, &m, filename);
tools/perf/util/machine.c
905
size_t ret = dsos__fprintf(&machines->host.dsos, fp);
tools/perf/util/machine.c
909
ret += dsos__fprintf(&pos->dsos, fp);
tools/perf/util/machine.c
918
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
1457
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);