> +static struct blk_mq_hw_ctx * > +blk_mq_alloc_hctx(struct request_queue *q, > + struct blk_mq_tag_set *set, Nit: The second paramter would easily fit on the first line. > + unsigned hctx_idx, int node) > +{ > + struct blk_mq_hw_ctx *hctx; > + > + hctx = kzalloc_node(blk_mq_hw_ctx_size(set), > + GFP_NOIO | __GFP_NOWARN | __GFP_NORETRY, > + node); > + if (!hctx) > + goto fail_alloc_hctx; > + > + if (!zalloc_cpumask_var_node(&hctx->cpumask, > + GFP_NOIO | __GFP_NOWARN | __GFP_NORETRY, > + node)) Nit: I still think a local variable for the gfp_t would be very useful here. > + atomic_set(&hctx->nr_active, 0); > + hctx->numa_node = node; > if (node == NUMA_NO_NODE) > - node = hctx->numa_node = set->numa_node; > + hctx->numa_node = set->numa_node; > + node = hctx->numa_node; Why not: if (node == NUMA_NO_NODE) set->numa_node; hctx->numa_node = node; ? Otherwise looks fine: Reviewed-by: Christoph Hellwig <hch@xxxxxx>