diff options
Diffstat (limited to 'target/linux/generic/backport-5.4')
7 files changed, 27 insertions, 27 deletions
diff --git a/target/linux/generic/backport-5.4/011-kbuild-export-SUBARCH.patch b/target/linux/generic/backport-5.4/011-kbuild-export-SUBARCH.patch index 60defa39c5..59f7a909c5 100644 --- a/target/linux/generic/backport-5.4/011-kbuild-export-SUBARCH.patch +++ b/target/linux/generic/backport-5.4/011-kbuild-export-SUBARCH.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> --- a/Makefile +++ b/Makefile -@@ -493,7 +493,7 @@ KBUILD_LDFLAGS := +@@ -500,7 +500,7 @@ KBUILD_LDFLAGS := GCC_PLUGINS_CFLAGS := CLANG_FLAGS := diff --git a/target/linux/generic/backport-5.4/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch b/target/linux/generic/backport-5.4/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch index 02b5b575db..34686f84a7 100644 --- a/target/linux/generic/backport-5.4/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch +++ b/target/linux/generic/backport-5.4/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch @@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6326,15 +6326,10 @@ void netif_napi_del(struct napi_struct * +@@ -6328,15 +6328,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 -@@ -6352,7 +6347,7 @@ static int napi_poll(struct napi_struct +@@ -6354,7 +6349,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 -@@ -6361,7 +6356,7 @@ static int napi_poll(struct napi_struct +@@ -6363,7 +6358,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) { -@@ -6379,12 +6374,29 @@ static int napi_poll(struct napi_struct +@@ -6381,12 +6376,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"); diff --git a/target/linux/generic/backport-5.4/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch b/target/linux/generic/backport-5.4/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch index 1ece7cf1d3..c890240915 100644 --- a/target/linux/generic/backport-5.4/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch +++ b/target/linux/generic/backport-5.4/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch @@ -30,7 +30,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -347,6 +347,7 @@ struct napi_struct { +@@ -349,6 +349,7 @@ struct napi_struct { struct list_head dev_list; struct hlist_node napi_hash_node; unsigned int napi_id; @@ -38,7 +38,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> }; enum { -@@ -357,6 +358,7 @@ enum { +@@ -359,6 +360,7 @@ enum { NAPI_STATE_HASHED, /* In NAPI hash (busy polling possible) */ NAPI_STATE_NO_BUSY_POLL,/* Do not add in napi_hash, no busy polling */ NAPI_STATE_IN_BUSY_POLL,/* sk_busy_loop() owns this NAPI */ @@ -46,7 +46,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> }; enum { -@@ -367,6 +369,7 @@ enum { +@@ -369,6 +371,7 @@ enum { NAPIF_STATE_HASHED = BIT(NAPI_STATE_HASHED), NAPIF_STATE_NO_BUSY_POLL = BIT(NAPI_STATE_NO_BUSY_POLL), NAPIF_STATE_IN_BUSY_POLL = BIT(NAPI_STATE_IN_BUSY_POLL), @@ -54,7 +54,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> }; enum gro_result { -@@ -511,20 +514,7 @@ bool napi_hash_del(struct napi_struct *n +@@ -513,20 +516,7 @@ bool napi_hash_del(struct napi_struct *n */ void napi_disable(struct napi_struct *n); @@ -76,7 +76,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> /** * napi_synchronize - wait until NAPI is not running -@@ -1790,6 +1780,8 @@ enum netdev_ml_priv_type { +@@ -1792,6 +1782,8 @@ enum netdev_ml_priv_type { * * @wol_enabled: Wake-on-LAN is enabled * @@ -85,7 +85,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> * FIXME: cleanup struct net_device such that network protocol info * moves out. */ -@@ -2082,6 +2074,7 @@ struct net_device { +@@ -2084,6 +2076,7 @@ struct net_device { struct lock_class_key addr_list_lock_key; bool proto_down; unsigned wol_enabled:1; @@ -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; -@@ -3889,6 +3911,21 @@ int gro_normal_batch __read_mostly = 8; +@@ -3891,6 +3913,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); } -@@ -6280,6 +6317,12 @@ void netif_napi_add(struct net_device *d +@@ -6282,6 +6319,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); -@@ -6296,9 +6339,28 @@ void napi_disable(struct napi_struct *n) +@@ -6298,9 +6341,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; -@@ -6323,6 +6385,11 @@ void netif_napi_del(struct napi_struct * +@@ -6325,6 +6387,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); -@@ -6402,6 +6469,51 @@ static int napi_poll(struct napi_struct +@@ -6404,6 +6471,51 @@ static int napi_poll(struct napi_struct return work; } diff --git a/target/linux/generic/backport-5.4/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch b/target/linux/generic/backport-5.4/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch index 93a8559fa6..05c40a91d5 100644 --- a/target/linux/generic/backport-5.4/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch +++ b/target/linux/generic/backport-5.4/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch @@ -46,7 +46,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> + == ================================== --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -505,6 +505,8 @@ static inline bool napi_complete(struct +@@ -507,6 +507,8 @@ static inline bool napi_complete(struct */ bool napi_hash_del(struct napi_struct *napi); @@ -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 -@@ -3915,8 +3915,9 @@ static inline void ____napi_schedule(str +@@ -3917,8 +3917,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); -@@ -6294,6 +6295,49 @@ static void init_gro_hash(struct napi_st +@@ -6296,6 +6297,49 @@ static void init_gro_hash(struct napi_st napi->gro_bitmask = 0; } diff --git a/target/linux/generic/backport-5.4/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch b/target/linux/generic/backport-5.4/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch index 30a795df59..103ed5713b 100644 --- a/target/linux/generic/backport-5.4/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch +++ b/target/linux/generic/backport-5.4/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch @@ -27,7 +27,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org> --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -359,6 +359,7 @@ enum { +@@ -361,6 +361,7 @@ enum { NAPI_STATE_NO_BUSY_POLL,/* Do not add in napi_hash, no busy polling */ NAPI_STATE_IN_BUSY_POLL,/* sk_busy_loop() owns this NAPI */ NAPI_STATE_THREADED, /* The poll is performed inside its own thread*/ @@ -35,7 +35,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org> }; enum { -@@ -370,6 +371,7 @@ enum { +@@ -372,6 +373,7 @@ enum { NAPIF_STATE_NO_BUSY_POLL = BIT(NAPI_STATE_NO_BUSY_POLL), NAPIF_STATE_IN_BUSY_POLL = BIT(NAPI_STATE_IN_BUSY_POLL), NAPIF_STATE_THREADED = BIT(NAPI_STATE_THREADED), @@ -45,7 +45,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org> enum gro_result { --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3922,6 +3922,8 @@ static inline void ____napi_schedule(str +@@ -3924,6 +3924,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; } -@@ -6082,7 +6084,8 @@ bool napi_complete_done(struct napi_stru +@@ -6084,7 +6086,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. -@@ -6515,16 +6518,25 @@ static int napi_poll(struct napi_struct +@@ -6517,16 +6520,25 @@ static int napi_poll(struct napi_struct static int napi_thread_wait(struct napi_struct *napi) { diff --git a/target/linux/generic/backport-5.4/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch b/target/linux/generic/backport-5.4/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch index a60763db60..a02597329b 100644 --- a/target/linux/generic/backport-5.4/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch +++ b/target/linux/generic/backport-5.4/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch @@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6522,7 +6522,7 @@ static int napi_thread_wait(struct napi_ +@@ -6524,7 +6524,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 -@@ -6540,6 +6540,7 @@ static int napi_thread_wait(struct napi_ +@@ -6542,6 +6542,7 @@ static int napi_thread_wait(struct napi_ set_current_state(TASK_INTERRUPTIBLE); } __set_current_state(TASK_RUNNING); diff --git a/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch b/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch index aeb22f5a0a..b063efb859 100644 --- a/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch +++ b/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch @@ -66,7 +66,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -5476,8 +5476,7 @@ static inline void skb_gro_reset_offset( +@@ -5478,8 +5478,7 @@ static inline void skb_gro_reset_offset( NAPI_GRO_CB(skb)->frag0 = NULL; NAPI_GRO_CB(skb)->frag0_len = 0; |