OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [virtio-dev] Re: [virtio] [PATCH] ccw: split descriptor/available/used rings


On Fri, 18 Oct 2013 14:33:48 +1030
Rusty Russell <rusty@au1.ibm.com> wrote:

> Cornelia Huck <cornelia.huck@de.ibm.com> writes:
> > On Wed, 16 Oct 2013 10:42:45 +1030
> > Rusty Russell <rusty@au1.ibm.com> wrote:
> >
> >> Cornelia Huck <cornelia.huck@de.ibm.com> writes:
> >> > On Tue, 15 Oct 2013 12:53:00 +1030
> >> > Rusty Russell <rusty@au1.ibm.com> wrote:
> >> Yes, but for virtio-pci, it's part of the ABI.  You specify it in 
> >> struct vq_info_block, so drivers using this value are suspicious, at
> >> least?
> >
> > I had wanted to keep alignment open, but the new interface will rely on
> > fixed alignments anyway.
> 
> I'm confused.
> 
> To be clear, I was talking about the legacy contiguous layout, which
> implies an alignment amount between the available ring and the used
> ring.  For virtio-pci (and lguest and kvm_virtio for that matter), it
> was fixed at 4096.  For mmio it was set by the driver; I thought CCW was
> the same:
> 
>         Afterwards, CCW_CMD_SET_VQ is issued by the guest to inform the
>         host about the location used for its queue. The transmitted
>         structure is
> 
>         struct vq_info_block {
>         	__u64 queue;
>         	__u32 align;
>         	__u16 index;
>         	__u16 num;
>         } __attribute__ ((packed));
> 
>         queue contains the guest address for queue index. The actual
>         number of allocated buffers is transmitted in num and their
>         alignment in align.
> 
> It says nothing about align being 4096?  This I was surprised to find
> that value exposed in uapi in Linux:
> 
> linux/arch/s390/include/uapi/asm/virtio-ccw.h:
> 
>         /* Alignment of vring buffers. */
>         #define KVM_VIRTIO_CCW_RING_ALIGN 4096

The legacy ccw interface did indeed allow for different alignments.
However, I ended up doing 4K alignment in every case (other alignments
would be rejected in practice). (I should probably add a note to the
legacy section.) With the new interface, we'll ditch the possibility to
specify the alignment.

I'll probably remove that define from the uapi.

> 
> Cheers,
> Rusty.



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]