Lines Matching refs:cpu_buf

12872 				      struct perf_cpu_buf *cpu_buf)
12874 if (!cpu_buf)
12876 if (cpu_buf->base &&
12877 munmap(cpu_buf->base, pb->mmap_size + pb->page_size))
12878 pr_warn("failed to munmap cpu_buf #%d\n", cpu_buf->cpu);
12879 if (cpu_buf->fd >= 0) {
12880 ioctl(cpu_buf->fd, PERF_EVENT_IOC_DISABLE, 0);
12881 close(cpu_buf->fd);
12883 free(cpu_buf->buf);
12884 free(cpu_buf);
12895 struct perf_cpu_buf *cpu_buf = pb->cpu_bufs[i];
12897 if (!cpu_buf)
12900 bpf_map_delete_elem(pb->map_fd, &cpu_buf->map_key);
12901 perf_buffer__free_cpu_buf(pb, cpu_buf);
12915 struct perf_cpu_buf *cpu_buf;
12919 cpu_buf = calloc(1, sizeof(*cpu_buf));
12920 if (!cpu_buf)
12923 cpu_buf->pb = pb;
12924 cpu_buf->cpu = cpu;
12925 cpu_buf->map_key = map_key;
12927 cpu_buf->fd = syscall(__NR_perf_event_open, attr, -1 /* pid */, cpu,
12929 if (cpu_buf->fd < 0) {
12936 cpu_buf->base = mmap(NULL, pb->mmap_size + pb->page_size,
12938 cpu_buf->fd, 0);
12939 if (cpu_buf->base == MAP_FAILED) {
12940 cpu_buf->base = NULL;
12947 if (ioctl(cpu_buf->fd, PERF_EVENT_IOC_ENABLE, 0) < 0) {
12954 return cpu_buf;
12957 perf_buffer__free_cpu_buf(pb, cpu_buf);
13115 struct perf_cpu_buf *cpu_buf;
13127 cpu_buf = perf_buffer__open_cpu_buf(pb, p->attr, cpu, map_key);
13128 if (IS_ERR(cpu_buf)) {
13129 err = PTR_ERR(cpu_buf);
13133 pb->cpu_bufs[j] = cpu_buf;
13136 &cpu_buf->fd, 0);
13140 cpu, map_key, cpu_buf->fd,
13146 pb->events[j].data.ptr = cpu_buf;
13147 if (epoll_ctl(pb->epoll_fd, EPOLL_CTL_ADD, cpu_buf->fd,
13151 cpu, cpu_buf->fd,
13185 struct perf_cpu_buf *cpu_buf = ctx;
13186 struct perf_buffer *pb = cpu_buf->pb;
13191 return pb->event_cb(pb->ctx, cpu_buf->cpu, e);
13198 pb->sample_cb(pb->ctx, cpu_buf->cpu, s->data, s->size);
13205 pb->lost_cb(pb->ctx, cpu_buf->cpu, s->lost);
13216 struct perf_cpu_buf *cpu_buf)
13220 ret = perf_event_read_simple(cpu_buf->base, pb->mmap_size,
13221 pb->page_size, &cpu_buf->buf,
13222 &cpu_buf->buf_size,
13223 perf_buffer__process_record, cpu_buf);
13243 struct perf_cpu_buf *cpu_buf = pb->events[i].data.ptr;
13245 err = perf_buffer__process_records(pb, cpu_buf);
13269 struct perf_cpu_buf *cpu_buf;
13274 cpu_buf = pb->cpu_bufs[buf_idx];
13275 if (!cpu_buf)
13278 return cpu_buf->fd;
13283 struct perf_cpu_buf *cpu_buf;
13288 cpu_buf = pb->cpu_bufs[buf_idx];
13289 if (!cpu_buf)
13292 *buf = cpu_buf->base;
13307 struct perf_cpu_buf *cpu_buf;
13312 cpu_buf = pb->cpu_bufs[buf_idx];
13313 if (!cpu_buf)
13316 return perf_buffer__process_records(pb, cpu_buf);
13324 struct perf_cpu_buf *cpu_buf = pb->cpu_bufs[i];
13326 if (!cpu_buf)
13329 err = perf_buffer__process_records(pb, cpu_buf);