[Info-vax] yet another sys$qiow question

Johnny Billquist bqt at softjar.se
Fri Aug 21 10:54:07 EDT 2015


On 2015-08-21 16:36, JF Mezei wrote:
> On 15-08-21 09:41, Johnny Billquist wrote:
>
>> Uh? It's a completely valid and not poor practice to check the iosb
>> before the operation completes. And the IOSB is defined as being set to
>> zero by the initiation of the I/O.
>
>
> Pardon my ignorance here, but what purpose is served by checking the
> IOSB before the IO completes ?
>
> Is this some performance thing to check IOSB for non-zero value instead
> of checking if event-flag has been set ?

It can serve multiple purposes. It's a cheaper check if the I/O is 
currently outstanding than checking an event flag. Also, event flags are 
a restricted resource. You only have 32 local event flags to play with. 
But it can also be used to see if the I/O have completed if you want to 
just be doing other things all the time in the code, and just from time 
to time check if the I/O has finished. Checking an event flag is way 
more expensive than just checking the IOSB, and they tell you the same 
thing.

> I've always done either QIOW, or QIO with AST or QIO with event flag. I
> personally really like the AST model.

I like ASTs too. But it's not totally seamless to mash with C.
Event flags are also ok, and for some purposes easier to deal with from 
C. And you can wait on event flags. You cannot wait in IOSB changes.

	Johnny




More information about the Info-vax mailing list