On 24/08/2017 16:23, Michael S. Tsirkin wrote:
> On Thu, Aug 24, 2017 at 02:10:34PM +0200, Paolo Bonzini wrote:
>> On 24/08/2017 13:53, Tiwei Bie wrote:
>>>
>>> * In addition to the DESC_HW flag, each virtio queue has a tail pointer
>>> - Driver creates suitable (i.e. multiple of cacheline) descriptors,
>>> then performs MMIO write to tail pointer.
>>
>> If I understand correctly, the tail pointer is the value that is written
>> to the MMIO register. If that is the case, this is unfortunately bad
>> for virtualization. Virt prefers a doorbell register where the value
>> doesn't matter.
>
> I think it's fine actually, this tail pointer merely duplicates data
> that is already available in form of DESC_HW flag. Virt can just ignore
> the value.
If the spec says the hardware can read speculatively beyond the tail
pointer, that's fine indeed (that was not in Tiwei's proposal).
Paolo