[Info-vax] yet another sys$qiow question
John Reagan
xyzzy1959 at gmail.com
Wed Aug 19 13:33:04 EDT 2015
On Wednesday, August 19, 2015 at 9:04:27 AM UTC-4, Johnny Billquist wrote:
>
> Well, it might be that a memory barrier is also called for. In addition
> to the IOSB (which is actually two longwords, right?), you also have the
> buffer, which is expected to hold the resulting data once the IOSB
> indicates the I/O is complete. That buffer might be updated out of order
> compared to the IOSB.
>
> But I would hope/assume that the OS would ensure such barriers are in
> place here...
>
Actually the splitting of the two longwords has come up in the past. VAX/VMS would update that entire quadword with a MOVQ. That isn't interruptable on a single processor. (and the VAX memory ordering is more serial). On Alpha, you might see that MOVQ turned into two longword moves if the Macro couldn't determine quadword alignment. I've seen changes to the kernel to make sure that didn't happen for that IOSB update. You shouldn't see a split update.
More information about the Info-vax
mailing list