cpumap: Use non-locked version __ptr_ring_consume_batched
authorJesper Dangaard Brouer <brouer@redhat.com>
Tue, 14 Jul 2020 13:56:34 +0000 (15:56 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Thu, 16 Jul 2020 15:00:31 +0000 (17:00 +0200)
Commit 77361825bb01 ("bpf: cpumap use ptr_ring_consume_batched") changed
away from using single frame ptr_ring dequeue (__ptr_ring_consume) to
consume a batched, but it uses a locked version, which as the comment
explain isn't needed.

Change to use the non-locked version __ptr_ring_consume_batched.

Fixes: 77361825bb01 ("bpf: cpumap use ptr_ring_consume_batched")
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/a9c7d06f9a009e282209f0c8c7b2c5d9b9ad60b9.1594734381.git.lorenzo@kernel.org
kernel/bpf/cpumap.c

index bd86580..323c91c 100644 (file)
@@ -259,7 +259,7 @@ static int cpu_map_kthread_run(void *data)
                 * kthread CPU pinned. Lockless access to ptr_ring
                 * consume side valid as no-resize allowed of queue.
                 */
-               n = ptr_ring_consume_batched(rcpu->queue, frames, CPUMAP_BATCH);
+               n = __ptr_ring_consume_batched(rcpu->queue, frames, CPUMAP_BATCH);
 
                for (i = 0; i < n; i++) {
                        void *f = frames[i];