Lines Matching refs:cpu_buf

9987 				      struct perf_cpu_buf *cpu_buf)
9989 if (!cpu_buf)
9991 if (cpu_buf->base &&
9992 munmap(cpu_buf->base, pb->mmap_size + pb->page_size))
9993 pr_warn("failed to munmap cpu_buf #%d\n", cpu_buf->cpu);
9994 if (cpu_buf->fd >= 0) {
9995 ioctl(cpu_buf->fd, PERF_EVENT_IOC_DISABLE, 0);
9996 close(cpu_buf->fd);
9998 free(cpu_buf->buf);
9999 free(cpu_buf);
10010 struct perf_cpu_buf *cpu_buf = pb->cpu_bufs[i];
10012 if (!cpu_buf)
10015 bpf_map_delete_elem(pb->map_fd, &cpu_buf->map_key);
10016 perf_buffer__free_cpu_buf(pb, cpu_buf);
10030 struct perf_cpu_buf *cpu_buf;
10034 cpu_buf = calloc(1, sizeof(*cpu_buf));
10035 if (!cpu_buf)
10038 cpu_buf->pb = pb;
10039 cpu_buf->cpu = cpu;
10040 cpu_buf->map_key = map_key;
10042 cpu_buf->fd = syscall(__NR_perf_event_open, attr, -1 /* pid */, cpu,
10044 if (cpu_buf->fd < 0) {
10051 cpu_buf->base = mmap(NULL, pb->mmap_size + pb->page_size,
10053 cpu_buf->fd, 0);
10054 if (cpu_buf->base == MAP_FAILED) {
10055 cpu_buf->base = NULL;
10062 if (ioctl(cpu_buf->fd, PERF_EVENT_IOC_ENABLE, 0) < 0) {
10069 return cpu_buf;
10072 perf_buffer__free_cpu_buf(pb, cpu_buf);
10209 struct perf_cpu_buf *cpu_buf;
10221 cpu_buf = perf_buffer__open_cpu_buf(pb, p->attr, cpu, map_key);
10222 if (IS_ERR(cpu_buf)) {
10223 err = PTR_ERR(cpu_buf);
10227 pb->cpu_bufs[j] = cpu_buf;
10230 &cpu_buf->fd, 0);
10234 cpu, map_key, cpu_buf->fd,
10240 pb->events[j].data.ptr = cpu_buf;
10241 if (epoll_ctl(pb->epoll_fd, EPOLL_CTL_ADD, cpu_buf->fd,
10245 cpu, cpu_buf->fd,
10279 struct perf_cpu_buf *cpu_buf = ctx;
10280 struct perf_buffer *pb = cpu_buf->pb;
10285 return pb->event_cb(pb->ctx, cpu_buf->cpu, e);
10292 pb->sample_cb(pb->ctx, cpu_buf->cpu, s->data, s->size);
10299 pb->lost_cb(pb->ctx, cpu_buf->cpu, s->lost);
10310 struct perf_cpu_buf *cpu_buf)
10314 ret = bpf_perf_event_read_simple(cpu_buf->base, pb->mmap_size,
10315 pb->page_size, &cpu_buf->buf,
10316 &cpu_buf->buf_size,
10317 perf_buffer__process_record, cpu_buf);
10334 struct perf_cpu_buf *cpu_buf = pb->events[i].data.ptr;
10336 err = perf_buffer__process_records(pb, cpu_buf);
10360 struct perf_cpu_buf *cpu_buf;
10365 cpu_buf = pb->cpu_bufs[buf_idx];
10366 if (!cpu_buf)
10369 return cpu_buf->fd;
10382 struct perf_cpu_buf *cpu_buf;
10387 cpu_buf = pb->cpu_bufs[buf_idx];
10388 if (!cpu_buf)
10391 return perf_buffer__process_records(pb, cpu_buf);
10399 struct perf_cpu_buf *cpu_buf = pb->cpu_bufs[i];
10401 if (!cpu_buf)
10404 err = perf_buffer__process_records(pb, cpu_buf);