From 9927275fbeb94e2fba9385270ee5fd10c3cfd15e Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 9 Sep 2020 10:50:58 +0200 Subject: [PATCH] Revert "drop queue-5.4/net-core-use-listified-rx-for-gro_normal-in-napi_gro_receive.patch" This reverts commit 0cace9a18b566886a71315e174ce8d8b37652627. --- ...x-for-gro_normal-in-napi_gro_receive.patch | 60 +++++++++++++++++++ queue-5.4/series | 1 + 2 files changed, 61 insertions(+) create mode 100644 queue-5.4/net-core-use-listified-rx-for-gro_normal-in-napi_gro_receive.patch diff --git a/queue-5.4/net-core-use-listified-rx-for-gro_normal-in-napi_gro_receive.patch b/queue-5.4/net-core-use-listified-rx-for-gro_normal-in-napi_gro_receive.patch new file mode 100644 index 00000000000..94a5dd779d5 --- /dev/null +++ b/queue-5.4/net-core-use-listified-rx-for-gro_normal-in-napi_gro_receive.patch @@ -0,0 +1,60 @@ +From 6570bc79c0dfff0f228b7afd2de720fb4e84d61d Mon Sep 17 00:00:00 2001 +From: Alexander Lobakin +Date: Mon, 14 Oct 2019 11:00:33 +0300 +Subject: net: core: use listified Rx for GRO_NORMAL in napi_gro_receive() + +From: Alexander Lobakin + +commit 6570bc79c0dfff0f228b7afd2de720fb4e84d61d upstream. + +Commit 323ebb61e32b4 ("net: use listified RX for handling GRO_NORMAL +skbs") made use of listified skb processing for the users of +napi_gro_frags(). +The same technique can be used in a way more common napi_gro_receive() +to speed up non-merged (GRO_NORMAL) skbs for a wide range of drivers +including gro_cells and mac80211 users. +This slightly changes the return value in cases where skb is being +dropped by the core stack, but it seems to have no impact on related +drivers' functionality. +gro_normal_batch is left untouched as it's very individual for every +single system configuration and might be tuned in manual order to +achieve an optimal performance. + +Signed-off-by: Alexander Lobakin +Acked-by: Edward Cree +Signed-off-by: David S. Miller +Signed-off-by: Hyunsoon Kim +Signed-off-by: Greg Kroah-Hartman + +--- + net/core/dev.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +--- a/net/core/dev.c ++++ b/net/core/dev.c +@@ -5602,12 +5602,13 @@ static void napi_skb_free_stolen_head(st + kmem_cache_free(skbuff_head_cache, skb); + } + +-static gro_result_t napi_skb_finish(gro_result_t ret, struct sk_buff *skb) ++static gro_result_t napi_skb_finish(struct napi_struct *napi, ++ struct sk_buff *skb, ++ gro_result_t ret) + { + switch (ret) { + case GRO_NORMAL: +- if (netif_receive_skb_internal(skb)) +- ret = GRO_DROP; ++ gro_normal_one(napi, skb); + break; + + case GRO_DROP: +@@ -5639,7 +5640,7 @@ gro_result_t napi_gro_receive(struct nap + + skb_gro_reset_offset(skb); + +- ret = napi_skb_finish(dev_gro_receive(napi, skb), skb); ++ ret = napi_skb_finish(napi, skb, dev_gro_receive(napi, skb)); + trace_napi_gro_receive_exit(ret); + + return ret; diff --git a/queue-5.4/series b/queue-5.4/series index 81d7c16e480..51e5a524a58 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -83,6 +83,7 @@ btrfs-allocate-scrub-workqueues-outside-of-locks.patch btrfs-set-the-correct-lockdep-class-for-new-nodes.patch btrfs-set-the-lockdep-class-for-log-tree-extent-buffers.patch btrfs-tree-checker-fix-the-error-message-for-transid-error.patch +net-core-use-listified-rx-for-gro_normal-in-napi_gro_receive.patch btrfs-fix-potential-deadlock-in-the-search-ioctl.patch revert-net-dsa-microchip-set-the-correct-number-of-p.patch revert-alsa-hda-add-support-for-loongson-7a1000-controller.patch -- 2.47.2