aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/pending-5.10/690-net-add-support-for-threaded-NAPI-polling.patch
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2021-02-16 23:39:32 +0100
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2021-02-16 23:48:23 +0100
commit0e43f62f21f10d4ee3c151f86d15784a9ec21d69 (patch)
tree26da213c16ee41858d547ccf0af98e7a569cc264 /target/linux/generic/pending-5.10/690-net-add-support-for-threaded-NAPI-polling.patch
parent0c7340f0a2027856af8b87d3f9b5295922c2e37d (diff)
downloadupstream-0e43f62f21f10d4ee3c151f86d15784a9ec21d69.tar.gz
upstream-0e43f62f21f10d4ee3c151f86d15784a9ec21d69.tar.bz2
upstream-0e43f62f21f10d4ee3c151f86d15784a9ec21d69.zip
kernel: 5.10: refresh patches
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/generic/pending-5.10/690-net-add-support-for-threaded-NAPI-polling.patch')
-rw-r--r--target/linux/generic/pending-5.10/690-net-add-support-for-threaded-NAPI-polling.patch15
1 files changed, 8 insertions, 7 deletions
diff --git a/target/linux/generic/pending-5.10/690-net-add-support-for-threaded-NAPI-polling.patch b/target/linux/generic/pending-5.10/690-net-add-support-for-threaded-NAPI-polling.patch
index 79b7832f2a..2979934926 100644
--- a/target/linux/generic/pending-5.10/690-net-add-support-for-threaded-NAPI-polling.patch
+++ b/target/linux/generic/pending-5.10/690-net-add-support-for-threaded-NAPI-polling.patch
@@ -214,7 +214,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
napi_hash_del(napi);
list_del_rcu(&napi->dev_list);
napi_free_frags(napi);
-@@ -6788,52 +6881,18 @@ EXPORT_SYMBOL(__netif_napi_del);
+@@ -6788,53 +6881,19 @@ EXPORT_SYMBOL(__netif_napi_del);
static int napi_poll(struct napi_struct *n, struct list_head *repoll)
{
@@ -228,7 +228,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
have = netpoll_poll_lock(n);
- weight = n->weight;
--
++ work = __napi_poll(n, &do_repoll);
+
- /* This NAPI_STATE_SCHED test is for avoiding a race
- * with netpoll's poll_napi(). Only the entity which
- * obtains the lock and sees NAPI_STATE_SCHED set will
@@ -246,8 +247,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
- n->poll, work, weight);
-
- if (likely(work < weight))
-- goto out_unlock;
-+ work = __napi_poll(n, &do_repoll);
++ if (!do_repoll)
+ goto out_unlock;
- /* Drivers must not modify the NAPI state if they
- * consume the entire weight. In such cases this code
@@ -256,8 +257,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
- */
- if (unlikely(napi_disable_pending(n))) {
- napi_complete(n);
-+ if (!do_repoll)
- goto out_unlock;
+- goto out_unlock;
- }
-
- if (n->gro_bitmask) {
@@ -268,9 +268,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
- }
-
- gro_normal_list(n);
-
+-
/* Some drivers may have called napi_schedule
* prior to exhausting their budget.
+ */
@@ -11288,6 +11347,10 @@ static int __init net_dev_init(void)
sd->backlog.weight = weight_p;
}