On 12/13/12 17:49, Christoph Hellwig wrote:
On Thu, Dec 13, 2012 at 05:47:14PM +0100, Bart Van Assche wrote:
From my experience with block and SCSI drivers option (1) doesn't
look attractive from a performance point of view. From what I have
seen performance with QD=1 is several times lower than performance
with QD > 1. But maybe I overlooked something ?
What you might be missing is that at least on Linux no one who cares
about performance uses the Posix AIO inferface anyway, as the
implementation in glibc always has been horrible. The Linux-native
aio interface or the various thread pool implementations don't imply
useless ordering and thus can be used to fill up large queues.
Some applications need write ordering without having a need for
enforcing durability as fsync() does [1]. What I'm wondering about is
whether an operating system kernel like the Linux kernel should penalize
application performance when using block drivers and storage hardware
that preserve the order of write requests because there exist other
drivers and storage devices that do not preserve the order of write
requests ?
[1] Richard Hipp, Re: [sqlite] SQLite on flash (was: [PATCH 00/16] f2fs:
introduce flash-friendly file system), October 10, 2012
(http://www.mail-archive.com/sqlite-users@xxxxxxxxxx/msg73033.html).
Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html