From 4f739cddb9f37b9780c9b0f4d1222b0be8d7e723 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Fri, 15 Sep 2017 23:58:38 +0200 Subject: data: move from spinlocks to lockless data structure Reference: https://www.cs.rochester.edu/research/synchronization/pseudocode/queues.html Original-code-from: @aegis --- src/send.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/send.c') diff --git a/src/send.c b/src/send.c index f270ad2..850f771 100644 --- a/src/send.c +++ b/src/send.c @@ -111,7 +111,7 @@ void packet_send_keepalive(struct wireguard_peer *peer) struct sk_buff *skb; struct sk_buff_head queue; - if (list_empty(&peer->init_queue.queue)) { + if (!atomic_read(&peer->init_queue.len)) { skb = alloc_skb(DATA_PACKET_HEAD_ROOM + MESSAGE_MINIMUM_LENGTH, GFP_ATOMIC); if (unlikely(!skb)) return; -- cgit v1.2.3-59-g8ed1b