[PATCH] nvme: use lighter smp barriers in nvme_irq

Keith Busch kbusch at kernel.org
Thu Feb 18 16:57:58 EST 2021


On Thu, Feb 18, 2021 at 04:06:35AM +0000, Chaitanya Kulkarni wrote:
> On 2/17/21 19:28, Keith Busch wrote:
> > The variables the driver was protecting no longer exist, so I also agree
> > the barriers should not be necessary.
> >
> 
> Are you saying something like following is needed ?

Right, I'm just saying the barriers don't appear to be necessary, so
they can go away as you've indicated below.
 
> From a3a73bd3943b479f82ff00582baf2c37c1afd8e8 Mon Sep 17 00:00:00 2001
> From: Chaitanya Kulkarni <chaitanya.kulkarni at wdc.com>
> Date: Wed, 17 Feb 2021 20:01:37 -0800
> Subject: [PATCH] nvme-pci: remove the barriers
> 
> The variable which was protected by the barriers is removed in
> The commit f6c4d97b0d82 (" nvme/pci: Remove last_cq_head").
> 
> Remove the barriers which was protecting the variable.
> 
> Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni at wdc.com>
> ---
>  drivers/nvme/host/pci.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index 0045c5edf629..3729775f6a8a 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -1062,14 +1062,8 @@ static irqreturn_t nvme_irq(int irq, void *data)
>      struct nvme_queue *nvmeq = data;
>      irqreturn_t ret = IRQ_NONE;
>  
> -    /*
> -     * The rmb/wmb pair ensures we see all updates from a previous run of
> -     * the irq handler, even if that was on another CPU.
> -     */
> -    rmb();
>      if (nvme_process_cq(nvmeq))
>          ret = IRQ_HANDLED;
> -    wmb();
>  
>      return ret;
>  }
> -- 
> 2.22.1



More information about the Linux-nvme mailing list