netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 net-next 00/14] mlx4: order-0 allocations and page recycling
@ 2017-02-13 19:58 Eric Dumazet
  2017-02-13 19:58 ` [PATCH v3 net-next 01/14] mlx4: use __skb_fill_page_desc() Eric Dumazet
                   ` (14 more replies)
  0 siblings, 15 replies; 71+ messages in thread
From: Eric Dumazet @ 2017-02-13 19:58 UTC (permalink / raw)
  To: David S . Miller
  Cc: netdev, Tariq Toukan, Martin KaFai Lau, Saeed Mahameed,
	Willem de Bruijn, Jesper Dangaard Brouer, Brenden Blanco,
	Alexei Starovoitov, Eric Dumazet, Eric Dumazet

As mentioned half a year ago, we better switch mlx4 driver to order-0
allocations and page recycling.

This reduces vulnerability surface thanks to better skb->truesize
tracking and provides better performance in most cases.

v2 provides an ethtool -S new counter (rx_alloc_pages) and
code factorization, plus Tariq fix.

v3 includes various fixes based on Tariq tests and feedback
from Saeed and Tariq.

Worth noting this patch series deletes ~250 lines of code ;)

Eric Dumazet (14):
  mlx4: use __skb_fill_page_desc()
  mlx4: dma_dir is a mlx4_en_priv attribute
  mlx4: remove order field from mlx4_en_frag_info
  mlx4: get rid of frag_prefix_size
  mlx4: rx_headroom is a per port attribute
  mlx4: reduce rx ring page_cache size
  mlx4: removal of frag_sizes[]
  mlx4: use order-0 pages for RX
  mlx4: add page recycling in receive path
  mlx4: add rx_alloc_pages counter in ethtool -S
  mlx4: do not access rx_desc from mlx4_en_process_rx_cq()
  mlx4: factorize page_address() calls
  mlx4: make validate_loopback() more generic
  mlx4: remove duplicate code in mlx4_en_process_rx_cq()

 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c  |   2 +-
 drivers/net/ethernet/mellanox/mlx4/en_port.c     |   2 +
 drivers/net/ethernet/mellanox/mlx4/en_rx.c       | 609 +++++++----------------
 drivers/net/ethernet/mellanox/mlx4/en_selftest.c |   6 -
 drivers/net/ethernet/mellanox/mlx4/en_tx.c       |   4 +-
 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h     |  29 +-
 drivers/net/ethernet/mellanox/mlx4/mlx4_stats.h  |   2 +-
 7 files changed, 202 insertions(+), 452 deletions(-)

-- 
2.11.0.483.g087da7b7c-goog

^ permalink raw reply	[flat|nested] 71+ messages in thread

end of thread, other threads:[~2017-03-13  9:20 UTC | newest]

Thread overview: 71+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-13 19:58 [PATCH v3 net-next 00/14] mlx4: order-0 allocations and page recycling Eric Dumazet
2017-02-13 19:58 ` [PATCH v3 net-next 01/14] mlx4: use __skb_fill_page_desc() Eric Dumazet
2017-02-13 19:58 ` [PATCH v3 net-next 02/14] mlx4: dma_dir is a mlx4_en_priv attribute Eric Dumazet
2017-02-13 19:58 ` [PATCH v3 net-next 03/14] mlx4: remove order field from mlx4_en_frag_info Eric Dumazet
2017-02-13 19:58 ` [PATCH v3 net-next 04/14] mlx4: get rid of frag_prefix_size Eric Dumazet
2017-02-13 19:58 ` [PATCH v3 net-next 05/14] mlx4: rx_headroom is a per port attribute Eric Dumazet
2017-02-13 19:58 ` [PATCH v3 net-next 06/14] mlx4: reduce rx ring page_cache size Eric Dumazet
2017-02-13 19:58 ` [PATCH v3 net-next 07/14] mlx4: removal of frag_sizes[] Eric Dumazet
2017-02-13 19:58 ` [PATCH v3 net-next 08/14] mlx4: use order-0 pages for RX Eric Dumazet
2017-02-13 20:51   ` Alexander Duyck
2017-02-13 21:09     ` Eric Dumazet
2017-02-13 23:16       ` Alexander Duyck
2017-02-13 23:22         ` Eric Dumazet
2017-02-13 23:26           ` Alexander Duyck
2017-02-13 23:29             ` Eric Dumazet
2017-02-13 23:47               ` Alexander Duyck
2017-02-14  0:22                 ` Eric Dumazet
2017-02-14  0:34                   ` Alexander Duyck
2017-02-14  0:46                     ` Eric Dumazet
2017-02-14  0:47                       ` Eric Dumazet
2017-02-14  0:57                       ` Eric Dumazet
2017-02-14  1:32                         ` Alexander Duyck
2017-02-14 12:12         ` Jesper Dangaard Brouer
2017-02-14 13:45           ` Eric Dumazet
2017-02-14 14:12             ` Eric Dumazet
2017-02-14 14:56             ` Tariq Toukan
2017-02-14 15:51               ` Eric Dumazet
2017-02-14 16:03                 ` Eric Dumazet
2017-02-14 17:29                 ` Tom Herbert
2017-02-15 16:42                   ` Tariq Toukan
2017-02-15 16:57                     ` Eric Dumazet
2017-02-16 13:08                       ` Tariq Toukan
2017-02-16 15:47                         ` Eric Dumazet
2017-02-16 17:05                         ` Tom Herbert
2017-02-16 17:11                           ` Eric Dumazet
2017-02-16 20:49                             ` Saeed Mahameed
2017-02-16 19:03                           ` David Miller
2017-02-16 21:06                             ` Saeed Mahameed
2017-02-14 17:04               ` David Miller
2017-02-14 17:17                 ` David Laight
2017-02-14 17:22                   ` David Miller
2017-02-14 19:38                 ` Jesper Dangaard Brouer
2017-02-14 19:59                   ` David Miller
2017-02-14 17:29               ` Alexander Duyck
2017-02-14 18:46                 ` Jesper Dangaard Brouer
2017-02-14 19:02                   ` Eric Dumazet
2017-02-14 20:02                     ` Jesper Dangaard Brouer
2017-02-14 21:56                       ` Eric Dumazet
2017-02-14 19:06                   ` Alexander Duyck
2017-02-14 19:50                     ` Jesper Dangaard Brouer
2017-02-22 16:22   ` Eric Dumazet
2017-02-22 17:23     ` Alexander Duyck
2017-02-22 17:58       ` David Laight
2017-02-22 18:21       ` Eric Dumazet
2017-02-23  1:08         ` Alexander Duyck
2017-02-23  2:06           ` Eric Dumazet
2017-02-23  2:18             ` Alexander Duyck
2017-02-23 14:02               ` Tariq Toukan
2017-02-24  9:42             ` Jesper Dangaard Brouer
2017-03-12 14:57             ` Eric Dumazet
2017-03-12 15:29               ` Eric Dumazet
2017-03-12 15:49                 ` Saeed Mahameed
2017-03-12 16:49                   ` Eric Dumazet
2017-03-13  9:20                     ` Saeed Mahameed
2017-02-13 19:58 ` [PATCH v3 net-next 09/14] mlx4: add page recycling in receive path Eric Dumazet
2017-02-13 19:58 ` [PATCH v3 net-next 10/14] mlx4: add rx_alloc_pages counter in ethtool -S Eric Dumazet
2017-02-13 19:58 ` [PATCH v3 net-next 11/14] mlx4: do not access rx_desc from mlx4_en_process_rx_cq() Eric Dumazet
2017-02-13 19:58 ` [PATCH v3 net-next 12/14] mlx4: factorize page_address() calls Eric Dumazet
2017-02-13 19:58 ` [PATCH v3 net-next 13/14] mlx4: make validate_loopback() more generic Eric Dumazet
2017-02-13 19:58 ` [PATCH v3 net-next 14/14] mlx4: remove duplicate code in mlx4_en_process_rx_cq() Eric Dumazet
2017-02-17 16:00 ` [PATCH v3 net-next 00/14] mlx4: order-0 allocations and page recycling David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).