Re: [Qemu-devel] [PATCH] Inter-VM shared memory PCI device

Avi Kivity
2010-03-08T13:16:22Z

On 03/08/2010 03:03 PM, Paul Brook wrote:
>> On 03/08/2010 12:53 AM, Paul Brook wrote:
>>
>>>> Support an inter-vm shared memory device that maps a shared-memory
>>>> object as a PCI device in the guest. This patch also supports
>>>> interrupts between guest by communicating over a unix domain socket.
>>>> This patch applies to the qemu-kvm repository.
>>>>
>>> No. All new devices should be fully qdev based.
>>>
>>> I suspect you've also ignored a load of coherency issues, especially when
>>> not using KVM. As soon as you have shared memory in more than one host
>>> thread/process you have to worry about memory barriers.
>>>
>> Shouldn't it be sufficient to require the guest to issue barriers (and
>> to ensure tcg honours the barriers, if someone wants this with tcg)?.
>>
> In a cross environment that becomes extremely hairy. For example the x86
> architecture effectively has an implicit write barrier before every store, and
> an implicit read barrier before every load.
>

Ah yes. For cross tcg environments you can map the memory using mmio
callbacks instead of directly, and issue the appropriate barriers there.

--
error compiling committee.c: too many arguments to function