Chris Worley, on 01/09/2010 01:39 AM wrote:
I thought if the device was opened with the O_DIRECT flag, then the
scheduler should have nothing to coalesce.
Depends on how many I/Os your application has in flight at once,
assuming it is using AIO or threads. If you have more requests in flight
than can be queued, the block layer will coalesce if possible.

I do use AIO, always 64 threads, each w/ 64 outstanding I/O's.  Local
or iSER initiator based, I never see any coalescing.  Only w/ SRP.

SRP initiator seems to be not too well optimized for the best performance. ISER initiator is noticeably better in this area.

There is the scst_vdisk "Direct I/O" option that's been commented out
of the code, as it's not supposed to work... maybe direct I/O doesn't
work... but that would be the target side.

O_DIRECT for vdisk is supposed to work. It's a matter of a small patch for the kernel, see http://scst.sourceforge.net/contributing.html#O_DIRECT.

Meanwhile, you can use fileio_tgt handler, with which O_DIRECT works well.

Vlad
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to