aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/backport-5.15/603-v5.19-page_pool-Add-recycle-stats-to-page_pool_put_page_bu.patch
diff options
context:
space:
mode:
authorJohn Audia <therealgraysky@proton.me>2023-06-06 10:45:47 -0400
committerHauke Mehrtens <hauke@hauke-m.de>2023-06-17 12:09:03 +0200
commit68bc059c55ee71d273fc7d00eddd96f97dcc50d5 (patch)
treedf85f9806afec93be04a59e66935f2e0fa24358d /target/linux/generic/backport-5.15/603-v5.19-page_pool-Add-recycle-stats-to-page_pool_put_page_bu.patch
parent6f9495b896f53172855cd015ac4024f6b7758e0a (diff)
downloadupstream-68bc059c55ee71d273fc7d00eddd96f97dcc50d5.tar.gz
upstream-68bc059c55ee71d273fc7d00eddd96f97dcc50d5.tar.bz2
upstream-68bc059c55ee71d273fc7d00eddd96f97dcc50d5.zip
kernel: bump 5.15 to 5.15.115
Manually rebased: backport-5.15/603-v5.19-page_pool-Add-recycle-stats-to-page_pool_put_page_bu.patch pending-5.15/723-net-mt7531-ensure-all-MACs-are-powered-down-before-r.patch* Removed upstreamed: generic-backport/610-v6.3-net-page_pool-use-in_softirq-instead.patch[1] backport-5.15/705-12-v6.0-net-dsa-mt7530-rework-mt753-01-_setup.patch[2] backport-5.15/790-v6.4-0010-net-dsa-mt7530-split-off-common-parts-from-mt7531_se.patch[3] backport-5.15/703-10-v5.16-net-dsa-introduce-helpers-for-iterating-through-port.patch[4] All other patches automatically rebased. * Modified to define the variable i as suggested by DragonBluep in PR discussion. See: https://github.com/openwrt/openwrt/pull/12823#issuecomment-1578518576 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.115&id=3af319d5147454dc63665ef451229c674b538377 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.115&id=0753c1ef24194580f7165ae6e259b59a851392f2 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.115&id=5a7266feaa6d708fc6880a161786eaa884ef3c8e 4. https://github.com/gregkh/linux/commit/9902f91cf666124a6b50bbcf483b46ecb09ef408 Build system: x86_64 Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit 5714660643e9170920be2abbb2297d9aac0b9533)
Diffstat (limited to 'target/linux/generic/backport-5.15/603-v5.19-page_pool-Add-recycle-stats-to-page_pool_put_page_bu.patch')
-rw-r--r--target/linux/generic/backport-5.15/603-v5.19-page_pool-Add-recycle-stats-to-page_pool_put_page_bu.patch10
1 files changed, 5 insertions, 5 deletions
diff --git a/target/linux/generic/backport-5.15/603-v5.19-page_pool-Add-recycle-stats-to-page_pool_put_page_bu.patch b/target/linux/generic/backport-5.15/603-v5.19-page_pool-Add-recycle-stats-to-page_pool_put_page_bu.patch
index 6ae3fb7133..f438ef3a59 100644
--- a/target/linux/generic/backport-5.15/603-v5.19-page_pool-Add-recycle-stats-to-page_pool_put_page_bu.patch
+++ b/target/linux/generic/backport-5.15/603-v5.19-page_pool-Add-recycle-stats-to-page_pool_put_page_bu.patch
@@ -16,7 +16,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/net/core/page_pool.c
+++ b/net/core/page_pool.c
-@@ -36,6 +36,12 @@
+@@ -59,6 +59,12 @@ static void page_pool_producer_unlock(st
this_cpu_inc(s->__stat); \
} while (0)
@@ -29,7 +29,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
bool page_pool_get_stats(struct page_pool *pool,
struct page_pool_stats *stats)
{
-@@ -63,6 +69,7 @@ EXPORT_SYMBOL(page_pool_get_stats);
+@@ -86,6 +92,7 @@ EXPORT_SYMBOL(page_pool_get_stats);
#else
#define alloc_stat_inc(pool, __stat)
#define recycle_stat_inc(pool, __stat)
@@ -37,9 +37,9 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
#endif
static int page_pool_init(struct page_pool *pool,
-@@ -569,9 +576,13 @@ void page_pool_put_page_bulk(struct page
+@@ -593,9 +600,13 @@ void page_pool_put_page_bulk(struct page
/* Bulk producer into ptr_ring page_pool cache */
- page_pool_ring_lock(pool);
+ in_softirq = page_pool_producer_lock(pool);
for (i = 0; i < bulk_len; i++) {
- if (__ptr_ring_produce(&pool->ring, data[i]))
- break; /* ring full */
@@ -50,6 +50,6 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
+ }
}
+ recycle_stat_add(pool, ring, i);
- page_pool_ring_unlock(pool);
+ page_pool_producer_unlock(pool, in_softirq);
/* Hopefully all pages was return into ptr_ring */