[PATCH] nvme: use __iowrite64_copy for SQs in the CMB

Saar Gross saar at annapurnalabs.com
Wed Nov 30 00:31:45 PST 2016

Sorry for taking so long to reply: yes, it might help with some PCIe
devices with weird alignment requirements.

The patch itself doesn't fix any broken devices (possibly other than
those PCIe devices mentioned above), it only replaces the current
implementation of memcpy_toio() to __iowrite64_copy() which is more
suited when working with WC buffers. We've tested the patch on a CMB
enabled device where we got the same performance as the original
implementation, which is expected as using __iowrite64_copy() should
really only make a difference with a very stressed system.


On Tue, Nov 22, 2016 at 4:43 AM, Stephen Bates <sbates at raithlin.com> wrote:
>>> Any comments on this patch? I didn't receive any so far.
>> Please explain why we would want to apply the patch, e.g. without
>> it some devices may be broken, or that on a particular device you get much
>> better performance (including numbers and an explanation of the setup).
> Some PCIe devices have requirements on the alignment of PCIe writes into
> them. Would this patch help with some of those devices?
> Stephen

More information about the Linux-nvme mailing list