[libvirt PATCH v2 05/16] nodedev: add ability to list and parse defined mdevs
Bjoern Walk
bwalk at linux.ibm.com
Thu Oct 15 19:41:21 UTC 2020
Jonathon Jongsma <jjongsma at redhat.com> [2020-08-18, 09:47AM -0500]:
> diff --git a/tests/nodedevmdevctldata/mdevctl-list-single.out.xml b/tests/nodedevmdevctldata/mdevctl-list-single.out.xml
> new file mode 100644
> index 0000000000..cb443346ef
> --- /dev/null
> +++ b/tests/nodedevmdevctldata/mdevctl-list-single.out.xml
> @@ -0,0 +1,14 @@
> +<device>
> + <name>mdev_783e6dbb_ea0e_411f_94e2_717eaad438bf</name>
> + <parent>matrix</parent>
> + <capability type='mdev'>
> + <type id='vfio_ap-passthrough'/>
> + <iommuGroup number='0'/>
> + <attr name='assign_adapter' value='5'/>
> + <attr name='assign_adapter' value='6'/>
> + <attr name='assign_domain' value='0xab'/>
> + <attr name='assign_control_domain' value='0xab'/>
> + <attr name='assign_domain' value='4'/>
> + <attr name='assign_control_domain' value='4'/>
> + </capability>
> +</device>
I find this XML design for the an AP mdev rather unfortunate. First of
all, it is really noisy and requires a lot of boiler-plate for the end
user.
Secondly, which I think it more important, it introduces a completely
new and different nomenclature compared to what we currently already
have for AP-related devices, i.e. cards
virsh # nodedev-dumpxml ap_card05
<device>
<name>ap_card05</name>
<path>/sys/devices/ap/card05</path>
<parent>computer</parent>
<driver>
<name>cex4card</name>
</driver>
<capability type='ap_card'>
<ap-adapter>0x05</ap-adapter>
</capability>
</device>
and queues
virsh # nodedev-dumpxml ap_05_002a
<device>
<name>ap_05_002a</name>
<path>/sys/devices/ap/card05/05.002a</path>
<parent>ap_card05</parent>
<driver>
<name>cex4queue</name>
</driver>
<capability type='ap_queue'>
<ap-adapter>0x05</ap-adapter>
<ap-domain>0x002a</ap-domain>
</capability>
</device>
This is really inconsistent and can be confusing for the end user.
Can we instead propose something along the lines
<device>
<name>mdev_783e6dbb_ea0e_411f_94e2_717eaad438bf</name>
<parent>matrix</parent>
<capability type='mdev'>
<type id='vfio_ap-passthrough'/>
<iommuGroup number='0'/>
<ap-adapter>0x05</ap-adapter>
<ap-adapter>0x06</ap-adapter>
<ap-domain>0x002a</ap-domain>
<ap-domain>0x0004</ap-domain>
<ap-domain>0x00ab</ap-domain>
<ap-control>0x04</ap-control>
</capability>
</device>
plus any number of enclosing elements that we like for better readability?
Best,
Bjoern
PS: I haven't read the whole patch series, we just have an internal
discussion about AP support and the XML design came up. I know that we'd
like to generically treat all mdevs as the same but we also should allow
for vendor-specific attributes to be represented individually to what
makes sense.
--
IBM Systems
Linux on Z & Virtualization Development
--------------------------------------------------
IBM Deutschland Research & Development GmbH
Schönaicher Str. 220, 71032 Böblingen
Phone: +49 7031 16 1819
--------------------------------------------------
Vorsitzende des Aufsichtsrats: Gregor Pillen
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 902 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20201015/6ec63591/attachment-0001.sig>
More information about the libvir-list
mailing list