On Thu, Oct 08, 2020 at 06:12:39PM -0700, Alexei Starovoitov wrote:
SNIP
> +
> +#ifdef UNROLL
> +#pragma unroll
> +#endif
> + for (int i = 0; i < MAX_CGROUPS_PATH_DEPTH; i++) {
> + filepart_length =
> + bpf_probe_read_str(payload, MAX_PATH,
> BPF_CORE_READ(cgroup_node, name));
> + if (!cgroup_node)
> + return payload;
> + if (cgroup_node == cgroup_root_node)
> + *root_pos = payload - payload_start;
> + if (filepart_length <= MAX_PATH) {
> + barrier_var(filepart_length);
> + payload += filepart_length;
> + }
> + cgroup_node = BPF_CORE_READ(cgroup_node, parent);
> + }
> + return payload;
> +}
> +
> +static ino_t get_inode_from_kernfs(struct kernfs_node* node)
> +{
> + struct kernfs_node___52* node52 = (void*)node;
> +
> + if (bpf_core_field_exists(node52->id.ino)) {
> + barrier_var(node52);
> + return BPF_CORE_READ(node52, id.ino);
> + } else {
> + barrier_var(node);
> + return (u64)BPF_CORE_READ(node, id);
> + }
> +}
> +
> +int pids_cgrp_id = 1;
hi,
I'm getting compilation failure with this:
CLNG-LLC [test_maps] profiler2.o
In file included from progs/profiler2.c:6:
progs/profiler.inc.h:246:5: error: redefinition of 'pids_cgrp_id' as
different kind of symbol
int pids_cgrp_id = 1;
^
/home/jolsa/linux-qemu/tools/testing/selftests/bpf/tools/include/vmlinux.h:14531:2:
note: previous definition is here
pids_cgrp_id = 11,
^
1 error generated.
/opt/clang/bin/llc: error: /opt/clang/bin/llc: <stdin>:1:1: error:
expected top-level entity
BPF obj compilation failed
^
make: *** [Makefile:396:
/home/jolsa/linux-qemu/tools/testing/selftests/bpf/profiler2.o] Error 1
jirka