diff options
Diffstat (limited to 'target/linux/generic/pending-6.1/760-net-core-add-optional-threading-for-backlog-processi.patch')
-rw-r--r-- | target/linux/generic/pending-6.1/760-net-core-add-optional-threading-for-backlog-processi.patch | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/target/linux/generic/pending-6.1/760-net-core-add-optional-threading-for-backlog-processi.patch b/target/linux/generic/pending-6.1/760-net-core-add-optional-threading-for-backlog-processi.patch index cdd98cb203..0bfc2412b4 100644 --- a/target/linux/generic/pending-6.1/760-net-core-add-optional-threading-for-backlog-processi.patch +++ b/target/linux/generic/pending-6.1/760-net-core-add-optional-threading-for-backlog-processi.patch @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> #endif --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4597,7 +4597,7 @@ static int napi_schedule_rps(struct soft +@@ -4622,7 +4622,7 @@ static int napi_schedule_rps(struct soft struct softnet_data *mysd = this_cpu_ptr(&softnet_data); #ifdef CONFIG_RPS @@ -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; -@@ -5778,6 +5778,8 @@ static DEFINE_PER_CPU(struct work_struct +@@ -5803,6 +5803,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; -@@ -5792,8 +5794,17 @@ static void flush_backlog(struct work_st +@@ -5817,8 +5819,17 @@ static void flush_backlog(struct work_st input_queue_head_incr(sd); } } @@ -66,7 +66,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); -@@ -5801,7 +5812,16 @@ static void flush_backlog(struct work_st +@@ -5826,7 +5837,16 @@ static void flush_backlog(struct work_st input_queue_head_incr(sd); } } @@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> } static bool flush_required(int cpu) -@@ -5933,6 +5953,7 @@ static int process_backlog(struct napi_s +@@ -5958,6 +5978,7 @@ static int process_backlog(struct napi_s } rps_lock_irq_disable(sd); @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> if (skb_queue_empty(&sd->input_pkt_queue)) { /* * Inline a custom version of __napi_complete(). -@@ -5942,7 +5963,8 @@ static int process_backlog(struct napi_s +@@ -5967,7 +5988,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. */ @@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> again = false; } else { skb_queue_splice_tail_init(&sd->input_pkt_queue, -@@ -6358,6 +6380,55 @@ int dev_set_threaded(struct net_device * +@@ -6383,6 +6405,55 @@ int dev_set_threaded(struct net_device * } EXPORT_SYMBOL(dev_set_threaded); @@ -157,7 +157,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> void netif_napi_add_weight(struct net_device *dev, struct napi_struct *napi, int (*poll)(struct napi_struct *, int), int weight) { -@@ -11130,6 +11201,9 @@ static int dev_cpu_dead(unsigned int old +@@ -11165,6 +11236,9 @@ static int dev_cpu_dead(unsigned int old raise_softirq_irqoff(NET_TX_SOFTIRQ); local_irq_enable(); @@ -167,7 +167,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> #ifdef CONFIG_RPS remsd = oldsd->rps_ipi_list; oldsd->rps_ipi_list = NULL; -@@ -11433,6 +11507,7 @@ static int __init net_dev_init(void) +@@ -11468,6 +11542,7 @@ static int __init net_dev_init(void) INIT_CSD(&sd->defer_csd, trigger_rx_softirq, sd); spin_lock_init(&sd->defer_lock); |