lkml.org 
[lkml]   [2020]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 107/255] nvme: introduce nvme_sync_io_queues
    Date
    From: Chao Leng <lengchao@huawei.com>

    [ Upstream commit 04800fbff4764ab7b32c49d19628605a5d4cb85c ]

    Introduce sync io queues for some scenarios which just only need sync
    io queues not sync all queues.

    Signed-off-by: Chao Leng <lengchao@huawei.com>
    Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/nvme/host/core.c | 8 ++++++--
    drivers/nvme/host/nvme.h | 1 +
    2 files changed, 7 insertions(+), 2 deletions(-)

    diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
    index 893e29624c16b..59040bab5d6fa 100644
    --- a/drivers/nvme/host/core.c
    +++ b/drivers/nvme/host/core.c
    @@ -4641,8 +4641,7 @@ void nvme_start_queues(struct nvme_ctrl *ctrl)
    }
    EXPORT_SYMBOL_GPL(nvme_start_queues);

    -
    -void nvme_sync_queues(struct nvme_ctrl *ctrl)
    +void nvme_sync_io_queues(struct nvme_ctrl *ctrl)
    {
    struct nvme_ns *ns;

    @@ -4650,7 +4649,12 @@ void nvme_sync_queues(struct nvme_ctrl *ctrl)
    list_for_each_entry(ns, &ctrl->namespaces, list)
    blk_sync_queue(ns->queue);
    up_read(&ctrl->namespaces_rwsem);
    +}
    +EXPORT_SYMBOL_GPL(nvme_sync_io_queues);

    +void nvme_sync_queues(struct nvme_ctrl *ctrl)
    +{
    + nvme_sync_io_queues(ctrl);
    if (ctrl->admin_q)
    blk_sync_queue(ctrl->admin_q);
    }
    diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
    index 2aaedfa43ed86..97fbd61191b33 100644
    --- a/drivers/nvme/host/nvme.h
    +++ b/drivers/nvme/host/nvme.h
    @@ -602,6 +602,7 @@ void nvme_stop_queues(struct nvme_ctrl *ctrl);
    void nvme_start_queues(struct nvme_ctrl *ctrl);
    void nvme_kill_queues(struct nvme_ctrl *ctrl);
    void nvme_sync_queues(struct nvme_ctrl *ctrl);
    +void nvme_sync_io_queues(struct nvme_ctrl *ctrl);
    void nvme_unfreeze(struct nvme_ctrl *ctrl);
    void nvme_wait_freeze(struct nvme_ctrl *ctrl);
    int nvme_wait_freeze_timeout(struct nvme_ctrl *ctrl, long timeout);
    --
    2.27.0


    \
     
     \ /
      Last update: 2020-11-17 14:37    [W:4.046 / U:0.172 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site