2.8 Android ebpf帮助函数解读(七)

121.long bpf_read_branch_records(struct bpf_perf_event_data *ctx, void *buf, u32 size, u64 flags)

描述:对于附加到 perf 事件的 eBPF 程序,检索与 ctx 关联的分支记录(struct perf_branch_entry),并将其存储在 buf 指向的缓冲区中,最大大小为size字节。

返回值:成功则返回写入buf的字节数。错误则返回负值,如下:

可以将flags设置为 BPF_F_GET_BRANCH_RECORDS_SIZE 以返回存储所有分支条目所需的字节数。如果设置了此标志,则 buf 可能为 NULL。

  • -EINVAL 如果参数无效或大小不是 sizeof(结构 perf_branch_entry)的倍数时返回。
  • -ENOENT 如果体系结构不支持分支记录时返回。

122.long bpf_get_ns_current_pid_tgid(u64 dev, u64 ino, struct bpf_pidns_info *nsdata, u32 size)

描述:成功时返回 0,从当前namespace中看到的 pid 和 tgid 的值则通过nsdata返回。

返回

你可能感兴趣的:(Android,eBPF,Book,android,linux,eBPF,ebpf)