From c6b0d0e779c18809d1ef9a6e352349107c7e68d8 Mon Sep 17 00:00:00 2001 From: Chris Horn Date: Mon, 27 Jul 2015 16:03:42 -0400 Subject: [PATCH] LU-6261 gnilnd: Use kgnilnd_vzalloc to allocate fma blocks. In low memory situations we may not be able to allocate memory. vmalloc tries forever to get memory. Use kgnilnd_vzalloc which uses the GFP_NOFS flag for allocating memory for fma blocks. Signed-off-by: Chris Horn Change-Id: I18f8564424abfc9c63e675ac98ca61487b5a2b34 Reviewed-on: http://review.whamcloud.com/15438 Tested-by: Jenkins Reviewed-by: James Simmons Tested-by: Maloo Reviewed-by: Doug Oucharek Reviewed-by: Oleg Drokin --- lnet/klnds/gnilnd/gnilnd_conn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lnet/klnds/gnilnd/gnilnd_conn.c b/lnet/klnds/gnilnd/gnilnd_conn.c index 4ca4542..408ca65 100644 --- a/lnet/klnds/gnilnd/gnilnd_conn.c +++ b/lnet/klnds/gnilnd/gnilnd_conn.c @@ -166,7 +166,7 @@ kgnilnd_alloc_fmablk(kgn_device_t *device, int use_phys) num_mbox, fma_blk->gnm_blk_size, fma_blk->gnm_mbox_size, *kgnilnd_tunables.kgn_mbox_per_block); - LIBCFS_ALLOC(fma_blk->gnm_block, fma_blk->gnm_blk_size); + fma_blk->gnm_block = kgnilnd_vzalloc(fma_blk->gnm_blk_size); if (fma_blk->gnm_block == NULL) { CNETERR("could not allocate virtual SMSG mailbox memory, %d bytes\n", fma_blk->gnm_blk_size); rc = -ENOMEM; -- 1.8.3.1