On Thu, 1 Mar 2001, Stephen C. Tweedie wrote:
> Raw IO is always synchronous: it gets flushed to disk before the write
> returns. You don't get any write-behind with raw IO, so the smaller
> the blocksize you write in, the slower things get.
More importantly, the mainstream raw io code only writes in 64KB chunks
that are unpipelined, which can lead to writes not hitting the drive
before the sector passes under the rw head. You can work around this to
some extent by issuing multiple writes (via threads, or the aio work I've
done) at the expense of atomicity. Also, before we allow locking of
arbitrary larger ios in main memory, we need bean counting to prevent the
obvious DoSes.
-ben
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/