]> git.baikalelectronics.ru Git - kernel.git/commit
net/mlx4_en: Adjust RX frag strides to frag sizes
authorIdo Shamay <idos@mellanox.com>
Tue, 3 Feb 2015 15:57:20 +0000 (17:57 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Feb 2015 00:17:45 +0000 (16:17 -0800)
commit1cb4908829b54fd401d6c43b85cd35f6f65c3f08
tree8bc0b9145a2541d37867c1730d6433cbf4c8fb68
parent0e6963d165861a8a22b7ba8aded3ad44c4a8332c
net/mlx4_en: Adjust RX frag strides to frag sizes

This patch improves memory utilization and therefore the packets rate
for special MTU's. Instead of setting the frag_stride to the maximal
hard coded frag_size, use the actual frag_size that is set according to
the MTU, when setting the stride of the last frag.
So, for example, for MTU 1600, where the frag_size of the 2nd frag is
86, the frag_size is set to 128 instead of 4096. See below:

Before:
 frag:0 - size:1536 prefix:0 stride:1536
 frag:1 - size:86 prefix:1536 stride:4096

 frag 0 allocator: - size:32768 frags:21
 frag 1 allocator: - size:32768 frags:8

After:
 frag:0 - size:1536 prefix:0 stride:1536
 frag:1 - size:86 prefix:1536 stride:128

 frag 0 allocator: - size:32768 frags:21
 frag 1 allocator: - size:32768 frags:256

Signed-off-by: Ido Shamay <idos@mellanox.com>
Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_rx.c