[Info-vax] OpenVMS async I/O, fast vs. slow
Johnny Billquist
bqt at softjar.se
Tue Nov 7 11:27:53 EST 2023
On 2023-11-07 01:18, Arne Vajhøj wrote:
> On 11/6/2023 6:31 AM, Johnny Billquist wrote:
>> On 2023-11-04 22:44, Arne Vajhøj wrote:
>>> On 11/4/2023 7:11 AM, Johnny Billquist wrote:
>>>> So how would memory mapped I/O be any faster? You basically cannot
>>>> be any faster than one DMA transfer. In fact, with memory mapped
>>>> I/O, you might be also hitting the page fault handling, and a
>>>> reading in of a full page, which might be more than you needed,
>>>> causing some overhead as well.
>>>
>>> Fewer layers to go through. More freedom to read ahead.
>>
>> Read ahead is something that the system can easily do both for normal
>> I/O and memory mapped I/O. It's just a question of speculative reads
>> assuming some pattern by the program. Most commonly that you are
>> reading files sequentially from start to finish.
>
> $QIO(w) and $IO_PERFORM(W) could.
>
> But at least for $QIO(W) then I would be very surprised if it did. It is
> from before VIOC/XFC so originally it did not have anywhere to
> store read ahead data. VMS engineering could have changed
> behavior when VIOC/XFC was introduced. But I doubt it.
>
> $IO_PERFORM(W) maybe. But I think the spirit is still
> "do exactly what the developer asked for and nothing more".
I'd say memory mapped I/O falls in the exact same category here.
Johnny
More information about the Info-vax
mailing list