Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp1068846ybh; Wed, 11 Mar 2020 16:58:44 -0700 (PDT) X-Google-Smtp-Source: ADFU+vutmqMcVJDFUWbasx41u6K5ruD196kSO9b6uyyYaWukKqZtMaaN8bnwxoYozaext9zCQiA0 X-Received: by 2002:a05:6830:193:: with SMTP id q19mr4217912ota.164.1583971124496; Wed, 11 Mar 2020 16:58:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1583971124; cv=none; d=google.com; s=arc-20160816; b=dpu3SbOQ/Qes9COCoUYi6CtrGjVMwHPlb8EKYGN6hREsbr7TNIkf6xLV09hN2WzpXr 458ZozuFkDkBTQC2MN08MR3QdyTJEdcSjaKznwlJURfzbomhpLC98S3oxObRVqG4yiM7 uLBQIWaShDW9FClGEpEhk3CcPjRGppkaCxyKeBb6wX1V1wuNhRNJUIbOe8WyDYAG2xoC ig+CpL7WYFPqTrtWs+Yi6/WqFB9bho9roj9nv8YnuyZNS4AOp7o3wmP8q96MA7mkMFoH kuB+SrFrStdR9EquKAM+z9mtNT5Y1mz9p5KnqLZ4QNhQmfeqOA5H6+OSR4MnkaqZ/I7h Y51g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:from:subject:mime-version :message-id:date:dkim-signature; bh=AZPvh30KFy43kEyQxHv/V8BBQfdFAAHiyFrKXoYvQuk=; b=HO0GM64X8tgf/cfDLAcZirCBNpzXg5d1Bqtj9Dk7MOzY0nzVHV3VyYHp7VtxRksxji piiWnM6leMRhQPZq7fOQrSXpZuhbXQDJUELbBNByB6qdfXzjpAK/bUj4ztVDg7kME/Cm rNvpR+rfRuSSIf9O0EWscsfu+nCzCqQEtecQjR4neXVv3aOG3+0jKLxvJzDTKfAFsHdI IBqKuYNjhKv/q500c2JZ2NJ8eO/9CSnXCPVhfVe9w7tM9JT2fUHkzoS9N1uPhcZag9pJ XIsRks0N3MU8VdSSVc8Ox6CT+gfFOStRaon48vFhZ5vwrgP2CeQQZTIZ9MheZTHSf+xf Lpyw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=qQKGWHsU; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u135si1856092oif.248.2020.03.11.16.58.06; Wed, 11 Mar 2020 16:58:44 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=qQKGWHsU; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731530AbgCKX47 (ORCPT + 99 others); Wed, 11 Mar 2020 19:56:59 -0400 Received: from mail-pf1-f202.google.com ([209.85.210.202]:47855 "EHLO mail-pf1-f202.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731448AbgCKX47 (ORCPT ); Wed, 11 Mar 2020 19:56:59 -0400 Received: by mail-pf1-f202.google.com with SMTP id h191so2521079pfe.14 for ; Wed, 11 Mar 2020 16:56:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=AZPvh30KFy43kEyQxHv/V8BBQfdFAAHiyFrKXoYvQuk=; b=qQKGWHsUgueSRuYYMEeO9BJHhAqNhnEDm4a4u2vIWrV7QPwxnMvqGBbrOV1hFNvnFi Wv4JNNWBAZQMPQVwJQgHqNRIwVYd1TTCgkwSpP54uV3FgDlV1+mvI+NOWGkhv3nyLG0v LfVITDV/O88Vbx+AiFKkLTL9x5GLbwiKpgWh0f+JDOQDjwq6fSqFbqVqpNBIbNu1+zqi ujvkyMhj4Y1zwsxrql4z1biEcYbJKEFsTtRQDjtunklUG28jYob32PKKJsDeLKXxVye4 vGrUCKd64tFQYO13tF7S67Gze+k4+C86w4F1UhTuWs5vnGRS566m/hilIdx7gvEHK6T6 1//A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=AZPvh30KFy43kEyQxHv/V8BBQfdFAAHiyFrKXoYvQuk=; b=IJK/hjjGAydaaPjegj/ejh9jKec0rbb0y04XKaDYOPksqwwxqJOViybJg6QVjB9Rni Hoi8UDFJM0pdO8GEJ2T8ImzOdV8MLKDyjcqxHqw2huXAaUx5E0/Hw5vv0T4Y2JmOk5sC YTDlB9wrygfzmErbQyDWV5X57fARfe0ba4EZ5JFppl08FrOV1W8PXLG1TWnSr6AL92Ex kxnAISjCDaUW9oWPLaNypi+l4DszeNgM9ytUznvBz85yB5BhSOo28wIkKYCO7yQBE/wd EPVjKe9gnSQLhZWXCVeZUjQjKolRIcOB8wvRq1mgAZd26JUIHdZAjpjsBU394YUz/jW/ EIKA== X-Gm-Message-State: ANhLgQ2/I0kvDquWDHAVYsKZB/D2pJcQ2lO0bpiAa/HrIb6Bbd3sCM8n G2aCp1Poj6Zk0FFmEV0I7BSlQh3t+4T39FpB X-Received: by 2002:a63:6b8a:: with SMTP id g132mr4899758pgc.359.1583971017911; Wed, 11 Mar 2020 16:56:57 -0700 (PDT) Date: Wed, 11 Mar 2020 16:56:53 -0700 Message-Id: <20200311235653.141701-1-rammuthiah@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.25.1.481.gfbce0eb801-goog Subject: [PATCH] Inline contents of BLK_MQ_VIRTIO config From: Ram Muthiah To: Jens Axboe Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@android.com, Ram Muthiah Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The config contains one symbol and is a dep of only two configs. Inlined this symbol so that it's built in by the two configs which need it and deleted the config. Signed-off-by: Ram Muthiah --- block/Kconfig | 5 ---- block/Makefile | 1 - block/blk-mq-virtio.c | 46 ----------------------------------- include/linux/blk-mq-virtio.h | 43 +++++++++++++++++++++++++++++--- 4 files changed, 39 insertions(+), 56 deletions(-) delete mode 100644 block/blk-mq-virtio.c diff --git a/block/Kconfig b/block/Kconfig index 3bc76bb113a0..953744daff7c 100644 --- a/block/Kconfig +++ b/block/Kconfig @@ -203,11 +203,6 @@ config BLK_MQ_PCI depends on BLOCK && PCI default y -config BLK_MQ_VIRTIO - bool - depends on BLOCK && VIRTIO - default y - config BLK_MQ_RDMA bool depends on BLOCK && INFINIBAND diff --git a/block/Makefile b/block/Makefile index 1a43750f4b01..709695f54150 100644 --- a/block/Makefile +++ b/block/Makefile @@ -29,7 +29,6 @@ obj-$(CONFIG_BLK_CMDLINE_PARSER) += cmdline-parser.o obj-$(CONFIG_BLK_DEV_INTEGRITY) += bio-integrity.o blk-integrity.o obj-$(CONFIG_BLK_DEV_INTEGRITY_T10) += t10-pi.o obj-$(CONFIG_BLK_MQ_PCI) += blk-mq-pci.o -obj-$(CONFIG_BLK_MQ_VIRTIO) += blk-mq-virtio.o obj-$(CONFIG_BLK_MQ_RDMA) += blk-mq-rdma.o obj-$(CONFIG_BLK_DEV_ZONED) += blk-zoned.o obj-$(CONFIG_BLK_WBT) += blk-wbt.o diff --git a/block/blk-mq-virtio.c b/block/blk-mq-virtio.c deleted file mode 100644 index 488341628256..000000000000 --- a/block/blk-mq-virtio.c +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Copyright (c) 2016 Christoph Hellwig. - */ -#include -#include -#include -#include -#include -#include "blk-mq.h" - -/** - * blk_mq_virtio_map_queues - provide a default queue mapping for virtio device - * @qmap: CPU to hardware queue map. - * @vdev: virtio device to provide a mapping for. - * @first_vec: first interrupt vectors to use for queues (usually 0) - * - * This function assumes the virtio device @vdev has at least as many available - * interrupt vetors as @set has queues. It will then queuery the vector - * corresponding to each queue for it's affinity mask and built queue mapping - * that maps a queue to the CPUs that have irq affinity for the corresponding - * vector. - */ -int blk_mq_virtio_map_queues(struct blk_mq_queue_map *qmap, - struct virtio_device *vdev, int first_vec) -{ - const struct cpumask *mask; - unsigned int queue, cpu; - - if (!vdev->config->get_vq_affinity) - goto fallback; - - for (queue = 0; queue < qmap->nr_queues; queue++) { - mask = vdev->config->get_vq_affinity(vdev, first_vec + queue); - if (!mask) - goto fallback; - - for_each_cpu(cpu, mask) - qmap->mq_map[cpu] = qmap->queue_offset + queue; - } - - return 0; -fallback: - return blk_mq_map_queues(qmap); -} -EXPORT_SYMBOL_GPL(blk_mq_virtio_map_queues); diff --git a/include/linux/blk-mq-virtio.h b/include/linux/blk-mq-virtio.h index 687ae287e1dc..b3ddb8b6da76 100644 --- a/include/linux/blk-mq-virtio.h +++ b/include/linux/blk-mq-virtio.h @@ -1,11 +1,46 @@ /* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (c) 2016 Christoph Hellwig. + */ #ifndef _LINUX_BLK_MQ_VIRTIO_H #define _LINUX_BLK_MQ_VIRTIO_H -struct blk_mq_queue_map; -struct virtio_device; +#include +#include -int blk_mq_virtio_map_queues(struct blk_mq_queue_map *qmap, - struct virtio_device *vdev, int first_vec); +/** + * blk_mq_virtio_map_queues - provide a default queue mapping for virtio device + * @qmap: CPU to hardware queue map. + * @vdev: virtio device to provide a mapping for. + * @first_vec: first interrupt vectors to use for queues (usually 0) + * + * This function assumes the virtio device @vdev has at least as many available + * interrupt vetors as @set has queues. It will then queuery the vector + * corresponding to each queue for it's affinity mask and built queue mapping + * that maps a queue to the CPUs that have irq affinity for the corresponding + * vector. + */ +static inline int blk_mq_virtio_map_queues(struct blk_mq_queue_map *qmap, + struct virtio_device *vdev, int first_vec) +{ + const struct cpumask *mask; + unsigned int queue, cpu; + + if (!vdev->config->get_vq_affinity) + goto fallback; + + for (queue = 0; queue < qmap->nr_queues; queue++) { + mask = vdev->config->get_vq_affinity(vdev, first_vec + queue); + if (!mask) + goto fallback; + + for_each_cpu(cpu, mask) + qmap->mq_map[cpu] = qmap->queue_offset + queue; + } + + return 0; +fallback: + return blk_mq_map_queues(qmap); +} #endif /* _LINUX_BLK_MQ_VIRTIO_H */ -- 2.25.1.481.gfbce0eb801-goog