kernel: bump 5.4 to 5.4.166
authorJohn Audia <graysky@archlinux.us>
Thu, 16 Dec 2021 19:53:58 +0000 (14:53 -0500)
committerHauke Mehrtens <hauke@hauke-m.de>
Fri, 17 Dec 2021 14:10:22 +0000 (15:10 +0100)
All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/mt7621*

*FS#4149 affects me so I had to revert 7f1edbd41295dff9f2127b169fbc086c0fb2c14e
in order to downgrade to 2.35.1

Signed-off-by: John Audia <graysky@archlinux.us>
include/kernel-version.mk
target/linux/generic/backport-5.4/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch
target/linux/generic/backport-5.4/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch
target/linux/generic/backport-5.4/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch
target/linux/generic/backport-5.4/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch
target/linux/generic/backport-5.4/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch
target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch
target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch

index 6bb271f37d652995d85e2e8e5bc6fac5267760cd..06c790d91e1ba5d4bf8ca34471d90a7c134b0084 100644 (file)
@@ -6,10 +6,10 @@ ifdef CONFIG_TESTING_KERNEL
   KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
 endif
 
-LINUX_VERSION-5.4 = .165
+LINUX_VERSION-5.4 = .166
 LINUX_VERSION-5.10 = .83
 
-LINUX_KERNEL_HASH-5.4.165 = ba13da6d18476269ce2a608cc1a4d69d61cca79585c07675495e3fbc8f9d2acc
+LINUX_KERNEL_HASH-5.4.166 = d6a5fe54495d5c1cd0d1a3d8bfa052ef6cf12a1703cb8207b8aaac69c267f6af
 LINUX_KERNEL_HASH-5.10.83 = ef259a43f33ddb56001283f4f4e50af29b8a48fa066aed7371a90ebf38c29b70
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
index 961140aabb199a3d29c0a4a7aa91c97125b89891..35aeb96251850be79857cf7ef4807e3871c63e98 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -6322,15 +6322,10 @@ void netif_napi_del(struct napi_struct *
+@@ -6325,15 +6325,10 @@ void netif_napi_del(struct napi_struct *
  }
  EXPORT_SYMBOL(netif_napi_del);
  
@@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        weight = n->weight;
  
        /* This NAPI_STATE_SCHED test is for avoiding a race
-@@ -6348,7 +6343,7 @@ static int napi_poll(struct napi_struct
+@@ -6351,7 +6346,7 @@ static int napi_poll(struct napi_struct
        WARN_ON_ONCE(work > weight);
  
        if (likely(work < weight))
@@ -44,7 +44,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
        /* Drivers must not modify the NAPI state if they
         * consume the entire weight.  In such cases this code
-@@ -6357,7 +6352,7 @@ static int napi_poll(struct napi_struct
+@@ -6360,7 +6355,7 @@ static int napi_poll(struct napi_struct
         */
        if (unlikely(napi_disable_pending(n))) {
                napi_complete(n);
@@ -53,7 +53,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        }
  
        if (n->gro_bitmask) {
-@@ -6375,12 +6370,29 @@ static int napi_poll(struct napi_struct
+@@ -6378,12 +6373,29 @@ static int napi_poll(struct napi_struct
        if (unlikely(!list_empty(&n->poll_list))) {
                pr_warn_once("%s: Budget exhausted after napi rescheduled\n",
                             n->dev ? n->dev->name : "backlog");
index c9bd4abb53b3d6fedb1174e88a3600abba13a19f..0c548f331abe41a0dd3afd872715476393832187 100644 (file)
@@ -131,7 +131,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  static int __dev_open(struct net_device *dev, struct netlink_ext_ack *extack)
  {
        const struct net_device_ops *ops = dev->netdev_ops;
-@@ -3885,6 +3907,21 @@ int gro_normal_batch __read_mostly = 8;
+@@ -3888,6 +3910,21 @@ int gro_normal_batch __read_mostly = 8;
  static inline void ____napi_schedule(struct softnet_data *sd,
                                     struct napi_struct *napi)
  {
@@ -153,7 +153,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        list_add_tail(&napi->poll_list, &sd->poll_list);
        __raise_softirq_irqoff(NET_RX_SOFTIRQ);
  }
-@@ -6276,6 +6313,12 @@ void netif_napi_add(struct net_device *d
+@@ -6279,6 +6316,12 @@ void netif_napi_add(struct net_device *d
        set_bit(NAPI_STATE_NPSVC, &napi->state);
        list_add_rcu(&napi->dev_list, &dev->napi_list);
        napi_hash_add(napi);
@@ -166,7 +166,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  }
  EXPORT_SYMBOL(netif_napi_add);
  
-@@ -6292,9 +6335,28 @@ void napi_disable(struct napi_struct *n)
+@@ -6295,9 +6338,28 @@ void napi_disable(struct napi_struct *n)
        hrtimer_cancel(&n->timer);
  
        clear_bit(NAPI_STATE_DISABLE, &n->state);
@@ -195,7 +195,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  static void flush_gro_hash(struct napi_struct *napi)
  {
        int i;
-@@ -6319,6 +6381,11 @@ void netif_napi_del(struct napi_struct *
+@@ -6322,6 +6384,11 @@ void netif_napi_del(struct napi_struct *
  
        flush_gro_hash(napi);
        napi->gro_bitmask = 0;
@@ -207,7 +207,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  }
  EXPORT_SYMBOL(netif_napi_del);
  
-@@ -6398,6 +6465,51 @@ static int napi_poll(struct napi_struct
+@@ -6401,6 +6468,51 @@ static int napi_poll(struct napi_struct
        return work;
  }
  
index d8b932978c20b4e4d9b5800cbfe9e0163d85cecd..bdc34a15eafe4ae0d6fe63895f248c1b7e045602 100644 (file)
@@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
   *    @n: NAPI context
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -3911,8 +3911,9 @@ static inline void ____napi_schedule(str
+@@ -3914,8 +3914,9 @@ static inline void ____napi_schedule(str
  
        if (test_bit(NAPI_STATE_THREADED, &napi->state)) {
                /* Paired with smp_mb__before_atomic() in
@@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                 * wake_up_process() when it's not NULL.
                 */
                thread = READ_ONCE(napi->thread);
-@@ -6290,6 +6291,49 @@ static void init_gro_hash(struct napi_st
+@@ -6293,6 +6294,49 @@ static void init_gro_hash(struct napi_st
        napi->gro_bitmask = 0;
  }
  
index 19c5a53a27b77065a1e5283ec04c1167b9bb28de..764f33e3fcc80ce6ab1bdb00d05e5fee4b728f1f 100644 (file)
@@ -45,7 +45,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
  enum gro_result {
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -3918,6 +3918,8 @@ static inline void ____napi_schedule(str
+@@ -3921,6 +3921,8 @@ static inline void ____napi_schedule(str
                 */
                thread = READ_ONCE(napi->thread);
                if (thread) {
@@ -54,7 +54,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
                        wake_up_process(thread);
                        return;
                }
-@@ -6078,7 +6080,8 @@ bool napi_complete_done(struct napi_stru
+@@ -6081,7 +6083,8 @@ bool napi_complete_done(struct napi_stru
  
                WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED));
  
@@ -64,7 +64,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
  
                /* If STATE_MISSED was set, leave STATE_SCHED set,
                 * because we will call napi->poll() one more time.
-@@ -6511,16 +6514,25 @@ static int napi_poll(struct napi_struct
+@@ -6514,16 +6517,25 @@ static int napi_poll(struct napi_struct
  
  static int napi_thread_wait(struct napi_struct *napi)
  {
index 108cf809f810971a4bd280c42d65d8be247b73eb..5c48fdf5c1ca41dbc54d238bb79df4a5d3c62bcd 100644 (file)
@@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -6518,7 +6518,7 @@ static int napi_thread_wait(struct napi_
+@@ -6521,7 +6521,7 @@ static int napi_thread_wait(struct napi_
  
        set_current_state(TASK_INTERRUPTIBLE);
  
@@ -43,7 +43,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                /* Testing SCHED_THREADED bit here to make sure the current
                 * kthread owns this napi and could poll on this napi.
                 * Testing SCHED bit is not enough because SCHED bit might be
-@@ -6536,6 +6536,7 @@ static int napi_thread_wait(struct napi_
+@@ -6539,6 +6539,7 @@ static int napi_thread_wait(struct napi_
                set_current_state(TASK_INTERRUPTIBLE);
        }
        __set_current_state(TASK_RUNNING);
index e7f4016a1f18abcf879713d3850c50d547c6a173..24b76cdca443535393776b30dfb5c697a5ebcc17 100644 (file)
@@ -66,7 +66,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -5435,8 +5435,7 @@ static inline void skb_gro_reset_offset(
+@@ -5475,8 +5475,7 @@ static inline void skb_gro_reset_offset(
        NAPI_GRO_CB(skb)->frag0 = NULL;
        NAPI_GRO_CB(skb)->frag0_len = 0;
  
index 37ce37c27e388b83bbea02797d7643ed3a037c37..9795a99bb5e226a4db2d2c01c5049dedee9b7ba0 100644 (file)
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        __u16                   tc_index;       /* traffic control index */
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -5501,6 +5501,9 @@ static enum gro_result dev_gro_receive(s
+@@ -5541,6 +5541,9 @@ static enum gro_result dev_gro_receive(s
        int same_flow;
        int grow;
  
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (netif_elide_gro(skb->dev))
                goto normal;
  
-@@ -7303,6 +7306,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -7484,6 +7487,48 @@ static void __netdev_adjacent_dev_unlink
                                           &upper_dev->adj_list.lower);
  }
  
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static int __netdev_upper_dev_link(struct net_device *dev,
                                   struct net_device *upper_dev, bool master,
                                   void *upper_priv, void *upper_info,
-@@ -7353,6 +7398,7 @@ static int __netdev_upper_dev_link(struc
+@@ -7534,6 +7579,7 @@ static int __netdev_upper_dev_link(struc
        if (ret)
                return ret;
  
@@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
                                            &changeupper_info.info);
        ret = notifier_to_errno(ret);
-@@ -7446,6 +7492,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -7627,6 +7673,7 @@ void netdev_upper_dev_unlink(struct net_
  
        __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
  
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
                                      &changeupper_info.info);
  
-@@ -8176,6 +8223,7 @@ int dev_set_mac_address(struct net_devic
+@@ -8357,6 +8404,7 @@ int dev_set_mac_address(struct net_devic
        if (err)
                return err;
        dev->addr_assign_type = NET_ADDR_SET;