diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2013-06-23 15:17:56 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-06-25 23:18:31 (GMT) |
commit | 51151a16a60f0a886a0b1e4a0697001198af50c4 (patch) | |
tree | a0d10152e3439e60cd8e67b2f66be0bbde0845fd /drivers/atm/nicstarmac.c | |
parent | 3bae9db9aacc40cdb5a0a4b74aaf935b3e85b4d6 (diff) | |
download | linux-fsl-qoriq-51151a16a60f0a886a0b1e4a0697001198af50c4.tar.xz |
mlx4: allow order-0 memory allocations in RX path
Signed-off-by: Eric Dumazet <edumazet@google.com>
mlx4 exclusively uses order-2 allocations in RX path, which are
likely to fail under memory pressure.
We therefore drop frames more than needed.
This patch tries order-3, order-2, order-1 and finally order-0
allocations to keep good performance, yet allow allocations if/when
memory gets fragmented.
By using larger pages, and avoiding unnecessary get_page()/put_page()
on compound pages, this patch improves performance as well, lowering
false sharing on struct page.
Also use GFP_KERNEL allocations in initialization path, as allocating 12
MB (390 order-3 pages) can easily fail with GFP_ATOMIC.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Amir Vadai <amirv@mellanox.com>
Acked-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/atm/nicstarmac.c')
0 files changed, 0 insertions, 0 deletions