OSDN Git Service

samples/bpf: Add option to set the busy-poll budget
authorBjörn Töpel <bjorn.topel@intel.com>
Mon, 30 Nov 2020 18:52:05 +0000 (19:52 +0100)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 30 Nov 2020 23:09:26 +0000 (00:09 +0100)
Support for the SO_BUSY_POLL_BUDGET setsockopt, via the batching
option ('b').

Signed-off-by: Björn Töpel <bjorn.topel@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Magnus Karlsson <magnus.karlsson@intel.com>
Link: https://lore.kernel.org/bpf/20201130185205.196029-11-bjorn.topel@gmail.com
samples/bpf/xdpsock_user.c

index 4622a17..036bd01 100644 (file)
@@ -1480,6 +1480,11 @@ static void apply_setsockopt(struct xsk_socket_info *xsk)
        if (setsockopt(xsk_socket__fd(xsk->xsk), SOL_SOCKET, SO_BUSY_POLL,
                       (void *)&sock_opt, sizeof(sock_opt)) < 0)
                exit_with_error(errno);
+
+       sock_opt = opt_batch_size;
+       if (setsockopt(xsk_socket__fd(xsk->xsk), SOL_SOCKET, SO_BUSY_POLL_BUDGET,
+                      (void *)&sock_opt, sizeof(sock_opt)) < 0)
+               exit_with_error(errno);
 }
 
 int main(int argc, char **argv)