Paul Brook wrote:
> > virtio makes things a bit trickier though.  There's a shared ring queue
> > between the host and guest.  The ring queue is lock-less and depends on
> > the ability to atomically increment ring queue indices to be SMP safe.
> > Using a copy-API wouldn't be a problem for QEMU since the host and guest
> > are always running in lock-step.  A copy API is actually needed to deal
> > with differing host/guest alignment and endianness.
> 
> That seems a rather poor design choice, as many architectures don't have an 
> atomic increment instruction. Oh well.

Most have compare-and-swap or load-locked/store-conditional
instructions, though, which can be used to implement atomic increment.

-- Jamie


Reply via email to