aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/pending-4.14/650-net-use-bulk-free-in-kfree_skb_list.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2019-08-12 12:24:06 +0200
committerFelix Fietkau <nbd@nbd.name>2019-08-12 12:27:06 +0200
commit7ec092e64125b920aee6d1767dacea3f61b2fa6f (patch)
tree8344335456c0a79dfea092be51ed23233f709538 /target/linux/generic/pending-4.14/650-net-use-bulk-free-in-kfree_skb_list.patch
parent9861050b85e5381c93d73ffdbc24c130400e0fb8 (diff)
downloadupstream-7ec092e64125b920aee6d1767dacea3f61b2fa6f.tar.gz
upstream-7ec092e64125b920aee6d1767dacea3f61b2fa6f.tar.bz2
upstream-7ec092e64125b920aee6d1767dacea3f61b2fa6f.zip
Revert faulty tree push
Revert "mac80211: add new minstrel_ht patches to improve probing on mt76x2" (9861050b85e5381c93d73ffdbc24c130400e0fb8) Revert "kernel: use bulk free in kfree_skb_list to improve performance" (98b654de2e7502507b31f0fb82befbb48f9c8542) Revert "ramips: add preliminary support for WIO ONE" (085141dc5ba5e763e1bf4c1a2fd6957160810ccc) Revert "ramips: add preliminary support for SGE AP-MTKH7-0006 developer board" (b1db6d0539511f60bf65fbde28b16afa31180e34) Revert "build: use config.site generated by autoconf-lean, drop hardcoded sitefiles" (363ce4329d4f6c00b4a7cb83dd1821fafc0d40ad) Revert "toolchain: add autoconf-lean" (fdb30eed03ae56cd87078b64d9b2fac00799e783) Revert "build: allow overriding the filename on the remote server when downloading" (6fa0e07758524eddf20c9b66dfcb55c490e1961e) Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'target/linux/generic/pending-4.14/650-net-use-bulk-free-in-kfree_skb_list.patch')
-rw-r--r--target/linux/generic/pending-4.14/650-net-use-bulk-free-in-kfree_skb_list.patch61
1 files changed, 0 insertions, 61 deletions
diff --git a/target/linux/generic/pending-4.14/650-net-use-bulk-free-in-kfree_skb_list.patch b/target/linux/generic/pending-4.14/650-net-use-bulk-free-in-kfree_skb_list.patch
deleted file mode 100644
index 1d1a6433d9..0000000000
--- a/target/linux/generic/pending-4.14/650-net-use-bulk-free-in-kfree_skb_list.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Sat, 23 Mar 2019 18:26:10 +0100
-Subject: [PATCH] net: use bulk free in kfree_skb_list
-
-Since we're freeing multiple skbs, we might as well use bulk free to save a
-few cycles. Use the same conditions for bulk free as in napi_consume_skb.
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/core/skbuff.c
-+++ b/net/core/skbuff.c
-@@ -666,12 +666,44 @@ EXPORT_SYMBOL(kfree_skb);
-
- void kfree_skb_list(struct sk_buff *segs)
- {
-- while (segs) {
-- struct sk_buff *next = segs->next;
-+ struct sk_buff *next = segs;
-+ void *skbs[16];
-+ int n_skbs = 0;
-
-- kfree_skb(segs);
-- segs = next;
-+ while ((segs = next) != NULL) {
-+ next = segs->next;
-+
-+ if (segs->fclone != SKB_FCLONE_UNAVAILABLE) {
-+ kfree_skb(segs);
-+ continue;
-+ }
-+
-+ if (!skb_unref(segs))
-+ continue;
-+
-+ trace_kfree_skb(segs, __builtin_return_address(0));
-+
-+ /* drop skb->head and call any destructors for packet */
-+ skb_release_all(segs);
-+
-+#ifdef CONFIG_SLUB
-+ /* SLUB writes into objects when freeing */
-+ prefetchw(segs);
-+#endif
-+
-+ skbs[n_skbs++] = segs;
-+
-+ if (n_skbs < ARRAY_SIZE(skbs))
-+ continue;
-+
-+ kmem_cache_free_bulk(skbuff_head_cache, n_skbs, skbs);
-+ n_skbs = 0;
- }
-+
-+ if (!n_skbs)
-+ return;
-+
-+ kmem_cache_free_bulk(skbuff_head_cache, n_skbs, skbs);
- }
- EXPORT_SYMBOL(kfree_skb_list);
-