diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2013-06-23 08:17:56 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-06-25 16:18:31 -0700 |
commit | 51151a16a60f0a886a0b1e4a0697001198af50c4 (patch) | |
tree | a0d10152e3439e60cd8e67b2f66be0bbde0845fd /include | |
parent | 3bae9db9aacc40cdb5a0a4b74aaf935b3e85b4d6 (diff) |
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 'include')
0 files changed, 0 insertions, 0 deletions