Re: Should raw I/O be added to the kernel?

Stephen C. Tweedie (sct@redhat.com)
Fri, 22 Jan 1999 21:50:33 GMT


Hi,

On Thu, 21 Jan 1999 21:39:26 +0100 (MET), Gerard Roudier
<groudier@club-internet.fr> said:

> Providing integrity using only a synchronous IO semantic is so costly for
> performances that I donnot even want to think for a second to such an
> approach.

Interesting to hear you say this, since that is _precisely_ what you get
if you are running a large DB like Oracle or Informix on raw devices.
All raw devices are _necessarily_ synchronous, and yet these devices are
suggested as a means of improving performance.

> With 'full control' I meant 'full control on actual IO ordering
> requirements to maintain integrity and consistency. I want to think of an
> IO sub-system that allows to ask for 'ordering' requirements of the
> reality of IOs.

Absolutely, there's no doubt about this. The only problem is that the
Unix API does not allow it. The nearest we can get is asynchronous IO
(using posix.4 libaio) along with synchronous status returns: in other
words, the writes are asynchronous but the completion status is not
returned until the data has positively hit disk.

--Stephen

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/