Terrible performance of sequential O_DIRECT 4k writes in SAN environment. ~3 times slower then Solars 10 with the same HBA/Storage.

Christoph Hellwig hch at infradead.org
Mon Jan 20 07:58:55 CST 2014


On Thu, Jan 16, 2014 at 09:07:21AM +1100, Dave Chinner wrote:
> Yes, I think it can be done relatively simply. We'd have to change
> the code in xfs_file_aio_write_checks() to check whether EOF zeroing
> was required rather than always taking an exclusive lock (for block
> aligned IO at EOF sub-block zeroing isn't required),

That's not even required for supporting aio appends, just a further
optimization for it.

> and then we'd
> have to modify the direct IO code to set the is_async flag
> appropriately. We'd probably need a new flag to say tell the DIO
> code that AIO beyond EOF is OK, but that isn't hard to do....

Yep, need a flag to allow appending writes and then defer them.

> Christoph, are you going to get any time to look at doing this in
> the next few days?

I'll probably need at least another week before I can get to it.  If you
wanna pick it up before than feel free.



More information about the xfs mailing list