diff options
author | John Audia <graysky@archlinux.us> | 2021-04-27 18:18:36 -0400 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2021-04-30 23:48:37 +0200 |
commit | 0d2873df15a9dad7a4a3012870836bb51216324c (patch) | |
tree | 8c6da1c6129a9e3ada6cd9b947aefa4603f3ab4d /target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch | |
parent | 14a95b36b1ecd038fffc279878c5a4c51043d709 (diff) | |
download | upstream-0d2873df15a9dad7a4a3012870836bb51216324c.tar.gz upstream-0d2873df15a9dad7a4a3012870836bb51216324c.tar.bz2 upstream-0d2873df15a9dad7a4a3012870836bb51216324c.zip |
kernel: bump 5.4 to 5.4.114
Manually rebased*
generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch
Added new backport*
generic/backport-5.4/050-gro-fix-napi_gro_frags-Fast-GRO-breakage-due-to-IP-a.patch
All others updated automatically.
The new backport was included based on this[1] upstream commit that will be
mainlined soon. This change is needed because Eric Dumazet's check for
NET_IP_ALIGN (landed in 5.4.114) causes huge slowdowns on drivers which use
napi_gro_frags().
Build system: x86_64
Build-tested: ipq806x/R7800
Run-tested: ipq806x/R7800
No dmesg regressions, everything functional
*Credit to Alexander Lobakin
1. https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=7ad18ff6449cbd6beb26b53128ddf56d2685aa93
Signed-off-by: John Audia <graysky@archlinux.us>
Diffstat (limited to 'target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch')
-rw-r--r-- | target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch b/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch index a6ef897869..a3b71b1896 100644 --- a/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch +++ b/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> static int netif_rx_internal(struct sk_buff *skb); static int call_netdevice_notifiers_info(unsigned long val, -@@ -5911,6 +5912,11 @@ void __napi_schedule(struct napi_struct +@@ -5912,6 +5913,11 @@ void __napi_schedule(struct napi_struct { unsigned long flags; @@ -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); -@@ -5958,6 +5964,11 @@ EXPORT_SYMBOL(napi_schedule_prep); +@@ -5959,6 +5965,11 @@ EXPORT_SYMBOL(napi_schedule_prep); */ void __napi_schedule_irqoff(struct napi_struct *n) { @@ -119,7 +119,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> ____napi_schedule(this_cpu_ptr(&softnet_data), n); } EXPORT_SYMBOL(__napi_schedule_irqoff); -@@ -6219,9 +6230,89 @@ static void init_gro_hash(struct napi_st +@@ -6220,9 +6231,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; -@@ -6238,6 +6329,7 @@ void netif_napi_add(struct net_device *d +@@ -6239,6 +6330,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); -@@ -6278,6 +6370,7 @@ static void flush_gro_hash(struct napi_s +@@ -6279,6 +6371,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); -@@ -6290,50 +6383,18 @@ EXPORT_SYMBOL(netif_napi_del); +@@ -6291,50 +6384,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. -@@ -10313,6 +10374,10 @@ static int __init net_dev_init(void) +@@ -10314,6 +10375,10 @@ static int __init net_dev_init(void) sd->backlog.weight = weight_p; } |