[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