[PATCH] Remove redundant writes to uncached sqe memory

Matthew Wilcox willy at linux.intel.com
Sat May 10 19:52:54 PDT 2014


On Fri, May 09, 2014 at 01:44:47PM -0700, Sam Bradshaw wrote:
> The memset to clear the SQE in nvme_submit_iod() is made partially 
> redundant by subsequent writes.  This patch explicitly clears each 
> SQE structure member in ascending order, eliminating the need for 
> the memset.  With this change, our perf runs show ~1.5% less time
> spent in the IO submission path and minor reduced q lock contention.

I'm shocked!  I thought that zeroing the cacheline first would be better
performing than storing into parts of the cacheline.  But I can't argue
with your numbers.  I think your patch is missing a store to the metadata
element though; care to rerun your test with that added?



More information about the Linux-nvme mailing list