Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753900AbdHIQyM (ORCPT ); Wed, 9 Aug 2017 12:54:12 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:39028 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752933AbdHIQyK (ORCPT ); Wed, 9 Aug 2017 12:54:10 -0400 From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Christoph Hellwig , Jens Axboe , Keith Busch , linux-block@vger.kernel.org, linux-nvme@lists.infradead.org, Thomas Gleixner , Oleksandr Natalenko , Mike Galbraith Subject: [PATCH 4.12 054/106] blk-mq: Include all present CPUs in the default queue mapping Date: Wed, 9 Aug 2017 09:52:38 -0700 Message-Id: <20170809164524.037800602@linuxfoundation.org> X-Mailer: git-send-email 2.14.0 In-Reply-To: <20170809164515.714288642@linuxfoundation.org> References: <20170809164515.714288642@linuxfoundation.org> User-Agent: quilt/0.65 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1689 Lines: 55 4.12-stable review patch. If anyone has any objections, please let me know. ------------------ From: Christoph Hellwig commit 5f042e7cbd9ebd3580077dcdc21f35e68c2adf5f upstream. This way we get a nice distribution independent of the current cpu online / offline state. Signed-off-by: Christoph Hellwig Reviewed-by: Jens Axboe Cc: Keith Busch Cc: linux-block@vger.kernel.org Cc: linux-nvme@lists.infradead.org Link: http://lkml.kernel.org/r/20170626102058.10200-2-hch@lst.de Signed-off-by: Thomas Gleixner Cc: Oleksandr Natalenko Cc: Mike Galbraith Signed-off-by: Greg Kroah-Hartman --- block/blk-mq-cpumap.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) --- a/block/blk-mq-cpumap.c +++ b/block/blk-mq-cpumap.c @@ -35,7 +35,6 @@ int blk_mq_map_queues(struct blk_mq_tag_ { unsigned int *map = set->mq_map; unsigned int nr_queues = set->nr_hw_queues; - const struct cpumask *online_mask = cpu_online_mask; unsigned int i, nr_cpus, nr_uniq_cpus, queue, first_sibling; cpumask_var_t cpus; @@ -44,7 +43,7 @@ int blk_mq_map_queues(struct blk_mq_tag_ cpumask_clear(cpus); nr_cpus = nr_uniq_cpus = 0; - for_each_cpu(i, online_mask) { + for_each_present_cpu(i) { nr_cpus++; first_sibling = get_first_sibling(i); if (!cpumask_test_cpu(first_sibling, cpus)) @@ -54,7 +53,7 @@ int blk_mq_map_queues(struct blk_mq_tag_ queue = 0; for_each_possible_cpu(i) { - if (!cpumask_test_cpu(i, online_mask)) { + if (!cpumask_test_cpu(i, cpu_present_mask)) { map[i] = 0; continue; }