aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/pending-5.15/760-net-core-add-optional-threading-for-backlog-processi.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/pending-5.15/760-net-core-add-optional-threading-for-backlog-processi.patch')
-rw-r--r--target/linux/generic/pending-5.15/760-net-core-add-optional-threading-for-backlog-processi.patch20
1 files changed, 10 insertions, 10 deletions
diff --git a/target/linux/generic/pending-5.15/760-net-core-add-optional-threading-for-backlog-processi.patch b/target/linux/generic/pending-5.15/760-net-core-add-optional-threading-for-backlog-processi.patch
index 67e9d6419b..d846a05a24 100644
--- a/target/linux/generic/pending-5.15/760-net-core-add-optional-threading-for-backlog-processi.patch
+++ b/target/linux/generic/pending-5.15/760-net-core-add-optional-threading-for-backlog-processi.patch
@@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/**
* napi_disable - prevent NAPI from scheduling
-@@ -3365,6 +3366,7 @@ struct softnet_data {
+@@ -3368,6 +3369,7 @@ struct softnet_data {
unsigned int processed;
unsigned int time_squeeze;
unsigned int received_rps;
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#endif
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4576,7 +4576,7 @@ static int rps_ipi_queued(struct softnet
+@@ -4578,7 +4578,7 @@ static int rps_ipi_queued(struct softnet
#ifdef CONFIG_RPS
struct softnet_data *mysd = this_cpu_ptr(&softnet_data);
@@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
sd->rps_ipi_next = mysd->rps_ipi_list;
mysd->rps_ipi_list = sd;
-@@ -5757,6 +5757,8 @@ static DEFINE_PER_CPU(struct work_struct
+@@ -5759,6 +5759,8 @@ static DEFINE_PER_CPU(struct work_struct
/* Network device is going away, flush any packets still pending */
static void flush_backlog(struct work_struct *work)
{
@@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct sk_buff *skb, *tmp;
struct softnet_data *sd;
-@@ -5772,9 +5774,18 @@ static void flush_backlog(struct work_st
+@@ -5774,9 +5776,18 @@ static void flush_backlog(struct work_st
input_queue_head_incr(sd);
}
}
@@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
skb_queue_walk_safe(&sd->process_queue, skb, tmp) {
if (skb->dev->reg_state == NETREG_UNREGISTERING) {
__skb_unlink(skb, &sd->process_queue);
-@@ -5782,7 +5793,18 @@ static void flush_backlog(struct work_st
+@@ -5784,7 +5795,18 @@ static void flush_backlog(struct work_st
input_queue_head_incr(sd);
}
}
@@ -86,7 +86,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
}
static bool flush_required(int cpu)
-@@ -6465,6 +6487,7 @@ static int process_backlog(struct napi_s
+@@ -6467,6 +6489,7 @@ static int process_backlog(struct napi_s
local_irq_disable();
rps_lock(sd);
@@ -94,7 +94,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (skb_queue_empty(&sd->input_pkt_queue)) {
/*
* Inline a custom version of __napi_complete().
-@@ -6474,7 +6497,8 @@ static int process_backlog(struct napi_s
+@@ -6476,7 +6499,8 @@ static int process_backlog(struct napi_s
* We can use a plain write instead of clear_bit(),
* and we dont need an smp_mb() memory barrier.
*/
@@ -104,7 +104,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
again = false;
} else {
skb_queue_splice_tail_init(&sd->input_pkt_queue,
-@@ -6891,6 +6915,57 @@ int dev_set_threaded(struct net_device *
+@@ -6893,6 +6917,57 @@ int dev_set_threaded(struct net_device *
}
EXPORT_SYMBOL(dev_set_threaded);
@@ -162,7 +162,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
int (*poll)(struct napi_struct *, int), int weight)
{
-@@ -11369,6 +11444,9 @@ static int dev_cpu_dead(unsigned int old
+@@ -11371,6 +11446,9 @@ static int dev_cpu_dead(unsigned int old
raise_softirq_irqoff(NET_TX_SOFTIRQ);
local_irq_enable();
@@ -172,7 +172,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#ifdef CONFIG_RPS
remsd = oldsd->rps_ipi_list;
oldsd->rps_ipi_list = NULL;
-@@ -11708,6 +11786,7 @@ static int __init net_dev_init(void)
+@@ -11710,6 +11788,7 @@ static int __init net_dev_init(void)
sd->cpu = i;
#endif