diff options
author | Toke Høiland-Jørgensen <toke@redhat.com> | 2019-06-28 11:12:34 +0200 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2019-06-29 01:31:08 +0200 |
commit | d5df2830ca9922d03a33940ea424c9a5f39f1162 (patch) | |
tree | 018eb91b4d8aadd03ea70c80ca4211ede0206942 /net | |
parent | c8af5cd75e2411d5a5aacf115f59a5ff6b87f3fa (diff) | |
download | linux-d5df2830ca9922d03a33940ea424c9a5f39f1162.tar.gz linux-d5df2830ca9922d03a33940ea424c9a5f39f1162.tar.bz2 linux-d5df2830ca9922d03a33940ea424c9a5f39f1162.zip |
devmap/cpumap: Use flush list instead of bitmap
The socket map uses a linked list instead of a bitmap to keep track of
which entries to flush. Do the same for devmap and cpumap, as this means we
don't have to care about the map index when enqueueing things into the
map (and so we can cache the map lookup).
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/core/filter.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/net/core/filter.c b/net/core/filter.c index dc8534be12fc..1e5fd37e9ab5 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -3523,7 +3523,6 @@ static int __bpf_tx_xdp_map(struct net_device *dev_rx, void *fwd, err = dev_map_enqueue(dst, xdp, dev_rx); if (unlikely(err)) return err; - __dev_map_insert_ctx(map, index); break; } case BPF_MAP_TYPE_CPUMAP: { @@ -3532,7 +3531,6 @@ static int __bpf_tx_xdp_map(struct net_device *dev_rx, void *fwd, err = cpu_map_enqueue(rcpu, xdp, dev_rx); if (unlikely(err)) return err; - __cpu_map_insert_ctx(map, index); break; } case BPF_MAP_TYPE_XSKMAP: { |