qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/4] s390-virtio-bus: move common virtio propert


From: Cornelia Huck
Subject: Re: [Qemu-devel] [PATCH 2/4] s390-virtio-bus: move common virtio properties to virtio s390 device class
Date: Tue, 17 Jun 2014 12:25:21 +0200

On Tue, 17 Jun 2014 18:15:39 +0800
Ming Lei <address@hidden> wrote:

> On Tue, Jun 17, 2014 at 4:46 PM, Cornelia Huck <address@hidden> wrote:
> >>
> >> Looks like s390 virtio-blk never enables the two common features, is
> >> there any reason the two features can't be supported by s390?
> >
> > Indirect descriptors are fine. event_idx will not work IIUC because we
> > always need to do a sync before we see changes, and this needs an
> > interrupt to trigger.
> 
> Sounds like the old s390 isn't cache coherent? Because you mean
> write in one side can only be observed from another side with an
> explicit notification or interrupt.
> 
> On arm/arm64, we didn't see any problem with event_idx.

But you probably have the queues in guest memory, as on other
transports (including virtio-ccw)? The old s390-virtio transport keeps
the devices and their virtqueues in a memory area behind the guest
memory - the guest does not see that memory directly, but a sync has to
be performed to see virtqueue movement (see s390_virtio_device_sync()).

> 
> >
> > The correct way, of course, is to unset VIRTIO_RING_F_EVENT_IDX in the
> > guest driver, and I verified that this works - this does not help with
> > old guests, however.
> 
> Both sides should be ok since it is decided by negotiation.

Yes, but the guest driver currently does not drop the feature bit, as
it only asks about the features that the common code supports - and
that does include VIRTIO_RING_F_EVENT_IDX.

> 
> >
> > Note that this applies only to the old s390-virtio transport -
> > virtio-ccw is fine.
> 
> Could you share me how s390 virtio is supported in kernel since
> I only see virtio-mmio and virtio-pci support under drivers/virtio/ of
> linux kernel?

They're hiding under drivers/s390/kvm/. The old s390-virtio transport is
supported by kvm_virtio.c, the virtio-ccw transport by virtio_ccw.c.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]