From: Chris Horn Date: Mon, 27 Jul 2015 20:03:42 +0000 (-0400) Subject: LU-6261 gnilnd: Use kgnilnd_vzalloc to allocate fma blocks. X-Git-Tag: 2.7.58~52 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=c6b0d0e779c18809d1ef9a6e352349107c7e68d8 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 --- 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;