OpenCloudOS-Kernel/kernel/bpf
Alexei Starovoitov d5a3b1f691 bpf: introduce BPF_MAP_TYPE_STACK_TRACE
add new map type to store stack traces and corresponding helper
bpf_get_stackid(ctx, map, flags) - walk user or kernel stack and return id
@ctx: struct pt_regs*
@map: pointer to stack_trace map
@flags: bits 0-7 - numer of stack frames to skip
        bit 8 - collect user stack instead of kernel
        bit 9 - compare stacks by hash only
        bit 10 - if two different stacks hash into the same stackid
                 discard old
        other bits - reserved
Return: >= 0 stackid on success or negative error

stackid is a 32-bit integer handle that can be further combined with
other data (including other stackid) and used as a key into maps.

Userspace will access stackmap using standard lookup/delete syscall commands to
retrieve full stack trace for given stackid.

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-02-20 00:21:44 -05:00
..
Makefile bpf: introduce BPF_MAP_TYPE_STACK_TRACE 2016-02-20 00:21:44 -05:00
arraymap.c bpf: add lookup/update support for per-cpu hash and array maps 2016-02-06 03:34:36 -05:00
core.c bpf: move clearing of A/X into classic to eBPF migration prologue 2015-12-18 16:04:51 -05:00
hashtab.c bpf: grab rcu read lock for bpf_percpu_hash_update 2016-02-19 14:37:43 -05:00
helpers.c bpf: split state from prandom_u32() and consolidate {c, e}BPF prngs 2015-10-08 05:26:39 -07:00
inode.c bpf, inode: allow for rename and link ops 2015-12-12 18:44:23 -05:00
stackmap.c bpf: introduce BPF_MAP_TYPE_STACK_TRACE 2016-02-20 00:21:44 -05:00
syscall.c bpf: add lookup/update support for per-cpu hash and array maps 2016-02-06 03:34:36 -05:00
verifier.c bpf: introduce BPF_MAP_TYPE_STACK_TRACE 2016-02-20 00:21:44 -05:00