diff options
Diffstat (limited to 'target/linux/generic')
5 files changed, 14 insertions, 65 deletions
diff --git a/target/linux/generic/backport-5.4/701-v5.5-net-core-use-listified-Rx-for-GRO_NORMAL-in-napi_gro.patch b/target/linux/generic/backport-5.4/701-v5.5-net-core-use-listified-Rx-for-GRO_NORMAL-in-napi_gro.patch deleted file mode 100644 index 7be25f5338..0000000000 --- a/target/linux/generic/backport-5.4/701-v5.5-net-core-use-listified-Rx-for-GRO_NORMAL-in-napi_gro.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: Alexander Lobakin <alobakin@dlink.ru> -Date: Mon, 14 Oct 2019 11:00:33 +0300 -Subject: [PATCH] net: core: use listified Rx for GRO_NORMAL in - napi_gro_receive() - -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 <alobakin@dlink.ru> -Acked-by: Edward Cree <ecree@solarflare.com> -Signed-off-by: David S. Miller <davem@davemloft.net> ---- - ---- a/net/core/dev.c -+++ b/net/core/dev.c -@@ -5601,12 +5601,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: -@@ -5638,7 +5639,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/target/linux/generic/pending-5.4/630-packet_socket_type.patch b/target/linux/generic/pending-5.4/630-packet_socket_type.patch index f082aa1454..a137fb5a6d 100644 --- a/target/linux/generic/pending-5.4/630-packet_socket_type.patch +++ b/target/linux/generic/pending-5.4/630-packet_socket_type.patch @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -2184,12 +2186,12 @@ static int tpacket_rcv(struct sk_buff *s +@@ -2185,12 +2187,12 @@ static int tpacket_rcv(struct sk_buff *s BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3284,6 +3286,7 @@ static int packet_create(struct net *net +@@ -3289,6 +3291,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -3917,6 +3920,16 @@ packet_setsockopt(struct socket *sock, i +@@ -3922,6 +3925,16 @@ packet_setsockopt(struct socket *sock, i po->xmit = val ? packet_direct_xmit : dev_queue_xmit; return 0; } @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> default: return -ENOPROTOOPT; } -@@ -3973,6 +3986,13 @@ static int packet_getsockopt(struct sock +@@ -3978,6 +3991,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR: val = po->has_vnet_hdr; break; diff --git a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch index a005b25c7a..3260e645f3 100644 --- a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch +++ b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch @@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> +MODULE_ALIAS("nf-flow-table-hw"); --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -5745,6 +5745,13 @@ static int nf_tables_flowtable_parse_hoo +@@ -5741,6 +5741,13 @@ static int nf_tables_flowtable_parse_hoo if (err < 0) return err; @@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL); if (!ops) return -ENOMEM; -@@ -5875,10 +5882,19 @@ static int nf_tables_newflowtable(struct +@@ -5871,10 +5878,19 @@ static int nf_tables_newflowtable(struct } flowtable->data.type = type; @@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK], flowtable); if (err < 0) -@@ -6004,7 +6020,8 @@ static int nf_tables_fill_flowtable_info +@@ -6000,7 +6016,8 @@ static int nf_tables_fill_flowtable_info nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) || nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) || nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle), diff --git a/target/linux/generic/pending-5.4/820-libata-Assign-OF-node-to-the-SCSI-device.patch b/target/linux/generic/pending-5.4/820-libata-Assign-OF-node-to-the-SCSI-device.patch index 9e72313ec9..bec9363fa1 100644 --- a/target/linux/generic/pending-5.4/820-libata-Assign-OF-node-to-the-SCSI-device.patch +++ b/target/linux/generic/pending-5.4/820-libata-Assign-OF-node-to-the-SCSI-device.patch @@ -41,7 +41,7 @@ ChangeLog v1->v2: #include "libata.h" #include "libata-transport.h" -@@ -4573,6 +4574,34 @@ int ata_scsi_add_hosts(struct ata_host * +@@ -4579,6 +4580,34 @@ int ata_scsi_add_hosts(struct ata_host * return rc; } @@ -76,7 +76,7 @@ ChangeLog v1->v2: void ata_scsi_scan_host(struct ata_port *ap, int sync) { int tries = 5; -@@ -4598,6 +4627,7 @@ void ata_scsi_scan_host(struct ata_port +@@ -4604,6 +4633,7 @@ void ata_scsi_scan_host(struct ata_port NULL); if (!IS_ERR(sdev)) { dev->sdev = sdev; diff --git a/target/linux/generic/pending-5.4/834-ledtrig-libata.patch b/target/linux/generic/pending-5.4/834-ledtrig-libata.patch index 783f8ea847..e9fe405142 100644 --- a/target/linux/generic/pending-5.4/834-ledtrig-libata.patch +++ b/target/linux/generic/pending-5.4/834-ledtrig-libata.patch @@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @tf: Target ATA taskfile -@@ -5115,6 +5128,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -5114,6 +5127,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (tag < 0) return NULL; } @@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> qc = __ata_qc_from_tag(ap, tag); qc->tag = qc->hw_tag = tag; -@@ -6049,6 +6065,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -6048,6 +6064,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> ata_sff_port_init(ap); return ap; -@@ -6084,6 +6103,12 @@ static void ata_host_release(struct kref +@@ -6083,6 +6102,12 @@ static void ata_host_release(struct kref kfree(ap->pmp_link); kfree(ap->slave_link); @@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> kfree(ap); host->ports[i] = NULL; } -@@ -6547,7 +6572,23 @@ int ata_host_register(struct ata_host *h +@@ -6546,7 +6571,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } @@ -134,7 +134,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> /* * Define if arch has non-standard setup. This is a _PCI_ standard -@@ -879,6 +882,12 @@ struct ata_port { +@@ -880,6 +883,12 @@ struct ata_port { #ifdef CONFIG_ATA_ACPI struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */ #endif |