lkml.org 
[lkml]   [2017]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 139/212] mlx4: reduce OOM risk on arches with large pages
    3.16.44-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Eric Dumazet <edumazet@google.com>

    commit 3608b13ccc51d06e499dfe12b27f134de1286e28 upstream.

    Since mlx4 NIC are used on PowerPC with 64K pages, we need to adapt
    MLX4_EN_ALLOC_PREFER_ORDER definition.

    Otherwise, a fragment sitting in an out of order TCP queue can hold
    0.5 Mbytes and it is a serious OOM risk.

    Fixes: 51151a16a60f ("mlx4: allow order-0 memory allocations in RX path")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
    +++ b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
    @@ -98,7 +98,8 @@
    /* Use the maximum between 16384 and a single page */
    #define MLX4_EN_ALLOC_SIZE PAGE_ALIGN(16384)

    -#define MLX4_EN_ALLOC_PREFER_ORDER PAGE_ALLOC_COSTLY_ORDER
    +#define MLX4_EN_ALLOC_PREFER_ORDER min_t(int, get_order(32768), \
    + PAGE_ALLOC_COSTLY_ORDER)

    /* Receive fragment sizes; we use at most 3 fragments (for 9600 byte MTU
    * and 4K allocations) */
    \
     
     \ /
      Last update: 2017-06-01 18:00    [W:4.069 / U:0.076 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site