[Info-vax] QIO Writes to a mailbox
Johnny Billquist
bqt at softjar.se
Fri Nov 4 07:16:14 EDT 2011
On 2011-11-04 11:04, Steve Bainbridge wrote:
> Hi,
>
> I have a very simple question, but when looking at the Alpha internals
> manual and talking to colleagues the answer does not seem so obvious.
>
> We have some old code that issues a QIO WRITEVBLK to a mailbox - the
> return code from the QIO is normal. Another process reads the mailbox
> and never gets the message - this only happens very rarely.
> Unfortunately the writer does not check or report what value the IOSB
> returns and I need to try and understand why these messages are
> getting lost. I can't reproduce this on our test systems and I can't
> easily install updated diagnostic code onto these production systems.
>
> The question I have is when is the data pointed to by P1 (in the QIO
> call) actually copied ? It is always done within the QIO routine or is
> it just scheduled to be done in the QIO call ? Can I re-use the buffer
> pointed to by P1 immediately after the call to the QIO ?
The data is not copied immediately. You really need to look at the IOSB
to know anything about how the QIO have gone. The return code from the
QIO only tells that the QIO system call itself passed the basic checks
(such as valid addresses for parameters, valid eventflag, valid LUN and
so on...). It tells absolutely nothing about if the I/O succeeded or not.
And until the I/O itself have completed, you should not touch the
buffer, since you don't know when/if the data is copied somewhere else.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
More information about the Info-vax
mailing list