diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2021-03-05 02:30:02 +0300 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2021-03-16 22:18:49 +0300 |
commit | ba3b86b9cef0c72ae78173f2c4db8a08bf4d3770 (patch) | |
tree | 113ebc5fd57ee5f42f87482d4fda016c6a710208 /kernel | |
parent | 23f50b5ac331c8c27c421a7116618355508e8427 (diff) | |
download | linux-ba3b86b9cef0c72ae78173f2c4db8a08bf4d3770.tar.xz |
s390/bpf: Implement new atomic ops
Implement BPF_AND, BPF_OR and BPF_XOR as the existing BPF_ADD. Since
the corresponding machine instructions return the old value, BPF_FETCH
happens by itself, the only additional thing that is required is
zero-extension.
There is no single instruction that implements BPF_XCHG on s390, so use
a COMPARE AND SWAP loop.
BPF_CMPXCHG, on the other hand, can be implemented by a single COMPARE
AND SWAP. Zero-extension is automatically inserted by the verifier.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20210304233002.149096-1-iii@linux.ibm.com
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions