From 7ec092e64125b920aee6d1767dacea3f61b2fa6f Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 12 Aug 2019 12:24:06 +0200 Subject: 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 --- .../650-net-use-bulk-free-in-kfree_skb_list.patch | 61 ---------------------- .../650-net-use-bulk-free-in-kfree_skb_list.patch | 61 ---------------------- 2 files changed, 122 deletions(-) delete mode 100644 target/linux/generic/pending-4.14/650-net-use-bulk-free-in-kfree_skb_list.patch delete mode 100644 target/linux/generic/pending-4.19/650-net-use-bulk-free-in-kfree_skb_list.patch (limited to 'target/linux/generic') 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 -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 ---- - ---- 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); - diff --git a/target/linux/generic/pending-4.19/650-net-use-bulk-free-in-kfree_skb_list.patch b/target/linux/generic/pending-4.19/650-net-use-bulk-free-in-kfree_skb_list.patch deleted file mode 100644 index 1d1a6433d9..0000000000 --- a/target/linux/generic/pending-4.19/650-net-use-bulk-free-in-kfree_skb_list.patch +++ /dev/null @@ -1,61 +0,0 @@ -From: Felix Fietkau -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 ---- - ---- 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); - -- cgit v1.2.3