summaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2024-03-29 15:42:22 +0000
committerDavid S. Miller <davem@davemloft.net>2024-04-01 11:28:32 +0100
commitf7efd01fe21431a98677e5505e5de46649121ca7 (patch)
tree1f12a32c513cf5faa2e2f618135252bf257c8c89 /net/core
parenta7ae7b0b2ea014ff3ed4be812c3efa1b1d86e153 (diff)
downloadlinux-f7efd01fe21431a98677e5505e5de46649121ca7.tar.gz
linux-f7efd01fe21431a98677e5505e5de46649121ca7.tar.bz2
linux-f7efd01fe21431a98677e5505e5de46649121ca7.zip
net: enqueue_to_backlog() cleanup
We can remove a goto and a label by reversing a condition. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 02c98f115243..0a8ccb0451c3 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4816,20 +4816,18 @@ static int enqueue_to_backlog(struct sk_buff *skb, int cpu,
backlog_lock_irq_save(sd, &flags);
qlen = skb_queue_len(&sd->input_pkt_queue);
if (qlen <= max_backlog && !skb_flow_limit(skb, qlen)) {
- if (qlen) {
-enqueue:
- __skb_queue_tail(&sd->input_pkt_queue, skb);
- input_queue_tail_incr_save(sd, qtail);
- backlog_unlock_irq_restore(sd, &flags);
- return NET_RX_SUCCESS;
+ if (!qlen) {
+ /* Schedule NAPI for backlog device. We can use
+ * non atomic operation as we own the queue lock.
+ */
+ if (!__test_and_set_bit(NAPI_STATE_SCHED,
+ &sd->backlog.state))
+ napi_schedule_rps(sd);
}
-
- /* Schedule NAPI for backlog device
- * We can use non atomic operation since we own the queue lock
- */
- if (!__test_and_set_bit(NAPI_STATE_SCHED, &sd->backlog.state))
- napi_schedule_rps(sd);
- goto enqueue;
+ __skb_queue_tail(&sd->input_pkt_queue, skb);
+ input_queue_tail_incr_save(sd, qtail);
+ backlog_unlock_irq_restore(sd, &flags);
+ return NET_RX_SUCCESS;
}
backlog_unlock_irq_restore(sd, &flags);