[PATCH] NVMe: Remove superfluous cqe_seen

Matthew Wilcox willy at linux.intel.com
Fri May 23 07:55:34 PDT 2014


On Thu, May 22, 2014 at 12:10:19AM +0000, Sam Bradshaw (sbradshaw) wrote:
> Performance problem, though not very easily measured.  At very high iops
> rates, most if not all cqe's are processed via nvme_process_cq() in 
> make_request(), leaving nvme_irq() with no work to do.  Nevertheless, it
> always writes cqe_seen, which invalidates a very hot cacheline.  This
> is somewhat exacerbated when IO submissions originate on a remote node
> relative to the cpu handling the irq.
> 
> Perhaps a simpler patch where cqe_seen is only written if set? 

Sure, we could do that, although in the scenario you're talking about,
cqe_seen would almost always get written.  I think your workload would
perhaps benefit from tuning the interrupt coalescing settings.



More information about the Linux-nvme mailing list