kernel: bump 5.4 to 5.4.137
[openwrt/openwrt.git] / target / linux / generic / pending-5.4 / 690-net-add-support-for-threaded-NAPI-polling.patch
index b30482468bb0e24096589e6c63c495199fd71050..f45efdf12b5d47b369806a886da2553c82ecdeaa 100644 (file)
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        local_irq_save(flags);
        ____napi_schedule(this_cpu_ptr(&softnet_data), n);
        local_irq_restore(flags);
-@@ -5978,6 +5984,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
+@@ -5982,6 +5988,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
   */
  void __napi_schedule_irqoff(struct napi_struct *n)
  {
@@ -116,10 +116,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +              return;
 +      }
 +
-       ____napi_schedule(this_cpu_ptr(&softnet_data), n);
- }
- EXPORT_SYMBOL(__napi_schedule_irqoff);
-@@ -6239,9 +6250,89 @@ static void init_gro_hash(struct napi_st
+       if (!IS_ENABLED(CONFIG_PREEMPT_RT))
+               ____napi_schedule(this_cpu_ptr(&softnet_data), n);
+       else
+@@ -6246,9 +6257,89 @@ static void init_gro_hash(struct napi_st
        napi->gro_bitmask = 0;
  }
  
@@ -209,7 +209,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        INIT_LIST_HEAD(&napi->poll_list);
        hrtimer_init(&napi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED);
        napi->timer.function = napi_watchdog;
-@@ -6258,6 +6349,7 @@ void netif_napi_add(struct net_device *d
+@@ -6265,6 +6356,7 @@ void netif_napi_add(struct net_device *d
  #ifdef CONFIG_NETPOLL
        napi->poll_owner = -1;
  #endif
@@ -217,7 +217,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        set_bit(NAPI_STATE_SCHED, &napi->state);
        set_bit(NAPI_STATE_NPSVC, &napi->state);
        list_add_rcu(&napi->dev_list, &dev->napi_list);
-@@ -6298,6 +6390,7 @@ static void flush_gro_hash(struct napi_s
+@@ -6305,6 +6397,7 @@ static void flush_gro_hash(struct napi_s
  void netif_napi_del(struct napi_struct *napi)
  {
        might_sleep();
@@ -225,7 +225,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (napi_hash_del(napi))
                synchronize_net();
        list_del_init(&napi->dev_list);
-@@ -6310,50 +6403,18 @@ EXPORT_SYMBOL(netif_napi_del);
+@@ -6317,50 +6410,18 @@ EXPORT_SYMBOL(netif_napi_del);
  
  static int napi_poll(struct napi_struct *n, struct list_head *repoll)
  {
@@ -280,7 +280,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        /* Some drivers may have called napi_schedule
         * prior to exhausting their budget.
-@@ -10333,6 +10394,10 @@ static int __init net_dev_init(void)
+@@ -10340,6 +10401,10 @@ static int __init net_dev_init(void)
                sd->backlog.weight = weight_p;
        }