Lines Matching refs:cpu_buf
12851 struct perf_cpu_buf *cpu_buf)
12853 if (!cpu_buf)
12855 if (cpu_buf->base &&
12856 munmap(cpu_buf->base, pb->mmap_size + pb->page_size))
12857 pr_warn("failed to munmap cpu_buf #%d\n", cpu_buf->cpu);
12858 if (cpu_buf->fd >= 0) {
12859 ioctl(cpu_buf->fd, PERF_EVENT_IOC_DISABLE, 0);
12860 close(cpu_buf->fd);
12862 free(cpu_buf->buf);
12863 free(cpu_buf);
12874 struct perf_cpu_buf *cpu_buf = pb->cpu_bufs[i];
12876 if (!cpu_buf)
12879 bpf_map_delete_elem(pb->map_fd, &cpu_buf->map_key);
12880 perf_buffer__free_cpu_buf(pb, cpu_buf);
12894 struct perf_cpu_buf *cpu_buf;
12898 cpu_buf = calloc(1, sizeof(*cpu_buf));
12899 if (!cpu_buf)
12902 cpu_buf->pb = pb;
12903 cpu_buf->cpu = cpu;
12904 cpu_buf->map_key = map_key;
12906 cpu_buf->fd = syscall(__NR_perf_event_open, attr, -1 /* pid */, cpu,
12908 if (cpu_buf->fd < 0) {
12915 cpu_buf->base = mmap(NULL, pb->mmap_size + pb->page_size,
12917 cpu_buf->fd, 0);
12918 if (cpu_buf->base == MAP_FAILED) {
12919 cpu_buf->base = NULL;
12926 if (ioctl(cpu_buf->fd, PERF_EVENT_IOC_ENABLE, 0) < 0) {
12933 return cpu_buf;
12936 perf_buffer__free_cpu_buf(pb, cpu_buf);
13094 struct perf_cpu_buf *cpu_buf;
13106 cpu_buf = perf_buffer__open_cpu_buf(pb, p->attr, cpu, map_key);
13107 if (IS_ERR(cpu_buf)) {
13108 err = PTR_ERR(cpu_buf);
13112 pb->cpu_bufs[j] = cpu_buf;
13115 &cpu_buf->fd, 0);
13119 cpu, map_key, cpu_buf->fd,
13125 pb->events[j].data.ptr = cpu_buf;
13126 if (epoll_ctl(pb->epoll_fd, EPOLL_CTL_ADD, cpu_buf->fd,
13130 cpu, cpu_buf->fd,
13164 struct perf_cpu_buf *cpu_buf = ctx;
13165 struct perf_buffer *pb = cpu_buf->pb;
13170 return pb->event_cb(pb->ctx, cpu_buf->cpu, e);
13177 pb->sample_cb(pb->ctx, cpu_buf->cpu, s->data, s->size);
13184 pb->lost_cb(pb->ctx, cpu_buf->cpu, s->lost);
13195 struct perf_cpu_buf *cpu_buf)
13199 ret = perf_event_read_simple(cpu_buf->base, pb->mmap_size,
13200 pb->page_size, &cpu_buf->buf,
13201 &cpu_buf->buf_size,
13202 perf_buffer__process_record, cpu_buf);
13222 struct perf_cpu_buf *cpu_buf = pb->events[i].data.ptr;
13224 err = perf_buffer__process_records(pb, cpu_buf);
13248 struct perf_cpu_buf *cpu_buf;
13253 cpu_buf = pb->cpu_bufs[buf_idx];
13254 if (!cpu_buf)
13257 return cpu_buf->fd;
13262 struct perf_cpu_buf *cpu_buf;
13267 cpu_buf = pb->cpu_bufs[buf_idx];
13268 if (!cpu_buf)
13271 *buf = cpu_buf->base;
13286 struct perf_cpu_buf *cpu_buf;
13291 cpu_buf = pb->cpu_bufs[buf_idx];
13292 if (!cpu_buf)
13295 return perf_buffer__process_records(pb, cpu_buf);
13303 struct perf_cpu_buf *cpu_buf = pb->cpu_bufs[i];
13305 if (!cpu_buf)
13308 err = perf_buffer__process_records(pb, cpu_buf);