OSDN Git Service

nvme-pci: remove the barriers in nvme_irq()
authorChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Tue, 23 Feb 2021 20:47:40 +0000 (12:47 -0800)
committerChristoph Hellwig <hch@lst.de>
Fri, 2 Apr 2021 16:48:24 +0000 (18:48 +0200)
commite9c78c23359fad8c58fa5654efe7320c8128f4af
tree0f80a27c31a502757d1e2871c884fa0639953988
parent80755855f808c27c7154937667436f30e47bc820
nvme-pci: remove the barriers in nvme_irq()

The barriers were added to the nvme_irq() in commit 3a7afd8ee42a
("nvme-pci: remove the CQ lock for interrupt driven queues") to prevent
compiler from doing memory optimization for the variabes that were
protected previously by spinlock in nvme_irq() at completion queue
processing and with queue head check condition.

The variable nvmeq->last_cq_head from those checks was removed in the
commit f6c4d97b0d82 ("nvme/pci: Remove last_cq_head") that was not
allwing poll queues from mistakenly triggering the spurious interrupt
detection.

Remove the barriers which were protecting the updates to the variables.

Reported-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Reviewed-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/pci.c