diff options
author | Jakub Kicinski <jakub.kicinski@netronome.com> | 2018-11-28 09:24:48 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-12-01 00:30:44 +0300 |
commit | 95862749674f598e979cb3ef2d18aec2e5d8bd29 (patch) | |
tree | e1332f741a552545059a1d8865f135ce61f243d9 /drivers/net/ethernet/netronome/nfp/nfp_net.h | |
parent | 6015c71e656bb6895b416c31a8b7db457e45cecf (diff) | |
download | linux-95862749674f598e979cb3ef2d18aec2e5d8bd29.tar.xz |
nfp: copy only the relevant part of the TX descriptor for frags
Chained descriptors for fragments need to duplicate all the descriptor
fields of the skb head, so we copy the descriptor and then modify the
relevant fields. This is wasteful, because the top half of the descriptor
will get overwritten entirely while the bottom half is not modified at all.
Copy only the bottom half. This saves us 0.3% of CPU in a GSO test.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/netronome/nfp/nfp_net.h')
-rw-r--r-- | drivers/net/ethernet/netronome/nfp/nfp_net.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net.h b/drivers/net/ethernet/netronome/nfp/nfp_net.h index bb3dbd74583b..5a9a6178cf26 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net.h +++ b/drivers/net/ethernet/netronome/nfp/nfp_net.h @@ -158,6 +158,7 @@ struct nfp_net_tx_desc { __le16 data_len; /* Length of frame + meta data */ } __packed; __le32 vals[4]; + __le64 vals8[2]; }; }; |