Subject: Re: RAW access to files
To: None <tech-kern@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-kern
Date: 12/13/2001 17:04:50
>>> userspace (NO MEMCPY)
>> Yes. But it also means no readahead, because there's nowhere to
>> _put_ the readahead.
> with modern disk (which does readahead in hardware)
As Thor (I think it was) pointed out, going out to disk - even if you
hit the disk's cache - is significantly slower than finding the data
already in host RAM.
> or/and large blocks it's no difference.
I don't see what difference the block size makes. Could you explain?
>> (Unless the application provides such a place, which we agreed it
>> shouldn't need to do.)
> application can use O_ASYNC
How does that help? To get readahead, there has to be somewhere to put
the readahead. Direct I/O, by definition, doesn't keep kernel buffers,
so it can't be in the kernel, and we agreed it shouldn't be in the
application. That doesn't leave anywhere but the disk itself, which I
covered above.
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML mouse@rodents.montreal.qc.ca
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B