ebpf: add helper for obtaining current processor id
authorDaniel Borkmann <daniel@iogearbox.net>
Sat, 14 Mar 2015 01:27:17 +0000 (02:27 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 16 Mar 2015 01:57:25 +0000 (21:57 -0400)
commitc04167ce2ca0ecaeaafef006cb0d65cf01b68e42
treeef0c4dc4642696d84bd56c4f409dd32507981bb0
parent03e69b508b6f7c51743055c9f61d1dfeadf4b635
ebpf: add helper for obtaining current processor id

This patch adds the possibility to obtain raw_smp_processor_id() in
eBPF. Currently, this is only possible in classic BPF where commit
da2033c28226 ("filter: add SKF_AD_RXHASH and SKF_AD_CPU") has added
facilities for this.

Perhaps most importantly, this would also allow us to track per CPU
statistics with eBPF maps, or to implement a poor-man's per CPU data
structure through eBPF maps.

Example function proto-type looks like:

  u32 (*smp_processor_id)(void) = (void *)BPF_FUNC_get_smp_processor_id;

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/bpf.h
include/uapi/linux/bpf.h
kernel/bpf/core.c
kernel/bpf/helpers.c
net/core/filter.c