[PATCH 4/4] docs: documentation for virtio packed option

Jason Wang jasowang at redhat.com
Fri Mar 27 01:55:12 UTC 2020


On 2020/3/27 上午9:08, Halil Pasic wrote:
> On Thu, 26 Mar 2020 11:32:14 +0100
> Bjoern Walk <bwalk at linux.ibm.com> wrote:
>
>> +    <p>
>> +      The attribute <code>packed</code> controls the usage of packed
>> +      virtqueues.
> This reads to me, like if packed='on' is specified, then packed
> virtqueues are used (or the device fails); if  packed='off' is specified
> is specified then split virtqueue format is used.
>
> But that statement is not always true. One might still end up using
> split despite of packed='on'. One example is a setup vhost-net setup.
> The in kernel implementation namely does not support packed queues, so
> F_RING_PACKED does not get offered by the device.
>
> Another reason why one could end up with F_RING_PACKED not getting
> negotiated is lack of guest support.
>
> Please note that this behavior is a little different than what we do for
> cpus (and cpu models). There one either gets what he asked for, or the
> VM won't get constructed.
>
> I believe, we should at least document this cleanly. Cc-ing Michael
> and Jason as hypervisor experts on these topics.
>
> Regards,
> Halil


I think we need document that packed=on only enable the qemu support of 
packed ring, but whether it is actually enabled depends on the feature 
negotiation between qemu, vhost backends and guest drivers.

Thanks


>
>
>> Compared to regular split queues, packed queues consist of
>> +      only a single descriptor ring replacing available and used ring, index
>> +      and descriptor buffer. This can result in better cache utilization and
>> +      performance. Possible values are <code>on</code> or <code>off</code>.
>> +      <span class="since">Since 6.3.0 (QEMU and KVM only)</span>
>> +    </p>




More information about the libvir-list mailing list