
On 24/04/13 23:27, Eric Blake wrote:
On 04/24/2013 03:24 AM, Osier Yang wrote:
Like what we did for "disk", "filesystem" and "interface", this introduces sub-element <driver> for "controller", and put the "queues" into it. --- docs/formatdomain.html.in | 26 ++++++++++-------- docs/schemas/domaincommon.rng | 14 ++++++---- src/conf/domain_conf.c | 31 +++++++++++++++------- .../qemuxml2argv-disk-virtio-scsi-num_queues.xml | 4 ++- 4 files changed, 48 insertions(+), 27 deletions(-) Ah, this is what I was looking for.
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 3dbd58b..9dd283b 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -2135,17 +2135,14 @@ controller. A "scsi" controller has an optional attribute <code>model</code>, which is one of "auto", "buslogic", "ibmvscsi", "lsilogic", "lsisas1068", "lsisas1078", "virtio-scsi" or - "vmpvscsi". The attribute <code>queues</code> and I see that it was on top of your other patch that did s/num_queues/queues/ - maybe you should have sent the two patches as a series.
Yeah, I should.
- (<span class="since">1.0.5 (QEMU and KVM only)</span>) specifies - the number of queues for the controller. For best performance, it's - recommended to specify a value matching the number of vCPUs. A "usb" - controller has an optional attribute <code>model</code>, which is one - of "piix3-uhci", "piix4-uhci", "ehci", "ich9-ehci1", "ich9-uhci1", - "ich9-uhci2", "ich9-uhci3", "vt82c686b-uhci", "pci-ohci" or "nec-xhci". - Additionally, <span class="since">since 0.10.0</span>, if the USB bus - needs to be explicitly disabled for the guest, <code>model='none'</code> - may be used. The PowerPC64 "spapr-vio" addresses do not have an - associated controller. + "vmpvscsi". A "usb" controller has an optional attribute + <code>model</code>, which is one of "piix3-uhci", "piix4-uhci", "ehci", + "ich9-ehci1", "ich9-uhci1", "ich9-uhci2", "ich9-uhci3", "vt82c686b-uhci", + "pci-ohci" or "nec-xhci". Additionally, + <span class="since">since 0.10.0</span>, if the USB bus needs to be + explicitly disabled for the guest, <code>model='none'</code> may be + used. The PowerPC64 "spapr-vio" addresses do not have an associated + controller. </p>
<p> @@ -2156,6 +2153,13 @@ </p>
<p> + An optional sub-element <code>driver</code> (<span class="since">1.0.5) + can specify the driver specific options. Currently it only supports + attribute <code>queues</code> (QEMU and KVM only), which specifies the + number of queues for the controller. For best performance, it's recommended + to specify a value matching the number of vCPUs. Can this sub-element appear for every type of controller, or is it limited to particular types of controllers?
It's only valid for virtio-scsi controller of qemu driver, but what I thought is we can make it generally for all drivers & all controllers. And do the checking inside qemu driver instead.
+ </p> + <p> USB companion controllers have an optional sub-element <code><master></code> to specify the exact relationship of the companion to its master controller. diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index b1c4c2f..d22bb80 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -1443,11 +1443,6 @@ </choice> </attribute> </optional> - <optional> - <attribute name="queues"> - <ref name="unsignedInt"/> - </attribute> - </optional> Spot [1].
</group> <!-- usb has an optional attribute "model", and optional subelement "master" --> <group> @@ -1493,6 +1488,15 @@ </group> </choice> </interleave> + <optional>
You want the sublement to be inside the interleave, so that the user can
Agreed for the interleave.
specify <address> and <driver> in either order. Also, if we only support queues for a particular type of controller (previously, you only had it under the type='scsi' controller), then this block should probably appear as part of the scsi group back at [1].
Previously, since the queues is only valid for virtio-scsi controller, I put in the scsi group, but now we changed to introduce a <driver> sub-element, I think it makes more sense to make the <driver> generic, and doesn't hurt to put the "queues" into it. Osier