Lines Matching defs:evsel
31 #include "evsel.h"
503 struct evsel *evsel;
519 sz = (u32)sizeof(evsel->core.attr);
524 evlist__for_each_entry(evlist, evsel) {
525 ret = do_write(ff, &evsel->core.attr, sz);
535 nri = evsel->core.ids;
543 ret = do_write_string(ff, evsel__name(evsel));
549 ret = do_write(ff, evsel->core.id, evsel->core.ids * sizeof(u64));
787 struct evsel *evsel;
794 evlist__for_each_entry(evlist, evsel) {
795 if (evsel__is_group_leader(evsel) && evsel->core.nr_members > 1) {
796 const char *name = evsel->group_name ?: "{anon_group}";
797 u32 leader_idx = evsel->core.idx;
798 u32 nr_members = evsel->core.nr_members;
1882 static void free_event_desc(struct evsel *events)
1884 struct evsel *evsel;
1889 for (evsel = events; evsel->core.attr.size; evsel++) {
1890 zfree(&evsel->name);
1891 zfree(&evsel->core.id);
1931 static struct evsel *read_event_desc(struct feat_fd *ff)
1933 struct evsel *evsel, *events = NULL;
1951 /* the last event terminates with evsel->core.attr.size == 0: */
1956 msz = sizeof(evsel->core.attr);
1960 for (i = 0, evsel = events; i < nre; evsel++, i++) {
1961 evsel->core.idx = i;
1973 memcpy(&evsel->core.attr, buf, msz);
1975 if (!perf_attr_check(&evsel->core.attr))
1982 evsel->needs_swap = true;
1984 evsel->name = do_read_string(ff);
1985 if (!evsel->name)
1994 evsel->core.ids = nr;
1995 evsel->core.id = id;
2020 struct evsel *evsel, *events;
2034 for (evsel = events; evsel->core.attr.size; evsel++) {
2035 fprintf(fp, "# event : name = %s, ", evsel->name);
2037 if (evsel->core.ids) {
2039 for (j = 0, id = evsel->core.id; j < evsel->core.ids; j++, id++) {
2047 perf_event_attr__fprintf(fp, &evsel->core.attr, __desc_attr__fprintf, NULL);
2191 struct evsel *evsel;
2196 evlist__for_each_entry(session->evlist, evsel) {
2197 if (evsel__is_group_leader(evsel) && evsel->core.nr_members > 1) {
2198 fprintf(fp, "# group: %s{%s", evsel->group_name ?: "", evsel__name(evsel));
2200 nr = evsel->core.nr_members - 1;
2202 fprintf(fp, ",%s", evsel__name(evsel));
2482 static struct evsel *evlist__find_by_index(struct evlist *evlist, int idx)
2484 struct evsel *evsel;
2486 evlist__for_each_entry(evlist, evsel) {
2487 if (evsel->core.idx == idx)
2488 return evsel;
2494 static void evlist__set_event_name(struct evlist *evlist, struct evsel *event)
2496 struct evsel *evsel;
2501 evsel = evlist__find_by_index(evlist, event->core.idx);
2502 if (!evsel)
2505 if (evsel->name)
2508 evsel->name = strdup(event->name);
2515 struct evsel *evsel, *events = read_event_desc(ff);
2528 for (evsel = events; evsel->core.attr.size; evsel++)
2529 evlist__set_event_name(session->evlist, evsel);
2807 struct evsel *evsel, *leader = NULL;
2845 evlist__for_each_entry(session->evlist, evsel) {
2846 if (i < nr_groups && evsel->core.idx == (int) desc[i].leader_idx) {
2847 evsel__set_leader(evsel, evsel);
2850 evsel->group_name = desc[i].name;
2853 evsel->core.nr_members = desc[i].nr_members;
2860 leader = evsel;
2861 nr = evsel->core.nr_members - 1;
2865 evsel__set_leader(evsel, leader);
3662 struct evsel *evsel;
3670 evlist__for_each_entry(session->evlist, evsel) {
3671 evsel->id_offset = lseek(fd, 0, SEEK_CUR);
3672 err = do_write(&ff, evsel->core.id, evsel->core.ids * sizeof(u64));
3681 evlist__for_each_entry(evlist, evsel) {
3682 if (evsel->core.attr.size < sizeof(evsel->core.attr)) {
3688 evsel->core.attr.size = sizeof(evsel->core.attr);
3691 .attr = evsel->core.attr,
3693 .offset = evsel->id_offset,
3694 .size = evsel->core.ids * sizeof(u64),
3751 struct evsel *evsel;
3755 evlist__for_each_entry(evlist, evsel) {
3756 data_offset += evsel->core.ids * sizeof(u64);
4129 static int evsel__prepare_tracepoint_event(struct evsel *evsel, struct tep_handle *pevent)
4135 if (evsel->tp_format)
4143 event = tep_find_event(pevent, evsel->core.attr.config);
4145 pr_debug("cannot find event format for %d\n", (int)evsel->core.attr.config);
4149 if (!evsel->name) {
4151 evsel->name = strdup(bf);
4152 if (evsel->name == NULL)
4156 evsel->tp_format = event;
4162 struct evsel *pos;
4232 struct evsel *evsel;
4245 evsel = evsel__new(&f_attr.attr);
4247 if (evsel == NULL)
4250 evsel->needs_swap = header->needs_swap;
4255 evlist__add(session->evlist, evsel);
4263 if (perf_evsel__alloc_id(&evsel->core, 1, nr_ids))
4272 perf_evlist__id_add(&session->evlist->core, &evsel->core, 0, j, f_id);
4386 struct evsel *evsel;
4395 evsel = evsel__new(&event->attr.attr);
4396 if (evsel == NULL)
4399 evlist__add(evlist, evsel);
4408 if (perf_evsel__alloc_id(&evsel->core, 1, n_ids))
4413 perf_evlist__id_add(&evlist->core, &evsel->core, 0, i, ids[i]);
4425 struct evsel *evsel;
4436 evsel = evlist__id2evsel(evlist, ev->id);
4437 if (evsel == NULL)
4442 free((char *)evsel->unit);
4443 evsel->unit = strdup(ev->unit);
4446 free(evsel->name);
4447 evsel->name = strdup(ev->name);
4450 evsel->scale = ev->scale.scale;
4455 perf_cpu_map__put(evsel->core.own_cpus);
4456 evsel->core.own_cpus = map;