On 05/11/2010 05:17 PM, Cam Macdonell wrote:
The master is the shared memory area. It's a completely separate entity
that is represented by the backing file (or shared memory server handing out
the fd to mmap). It can exists independently of any guest.
I think the master/peer idea would be necessary if we were sharing
guest memory (sharing guest A's memory with guest B). Then if the
master (guest A) dies, perhaps something needs to happen to preserve
the memory contents.
Definitely. But we aren't...
But since we're sharing host memory, the
applications in the guests can race to determine the master by
grabbing a lock at offset 0 or by using lowest VM ID.
Looking at it another way, it is the applications using shared memory
that may or may not need a master, the Qemu processes don't need the
concept of a master since the memory belongs to the host.
Exactly. Furthermore, even in a master/slave relationship, there will
be different masters for different sub-areas, it would be a pity to
expose all this in the hardware abstraction. This way we have an
external device, and PCI HBAs which connect to it - just like a
multi-tailed SCSI disk.
--
error compiling committee.c: too many arguments to function