Bjoern Walk <bwalk(a)linux.ibm.com> [2020-10-15, 09:41PM +0200]:
Jonathon Jongsma <jjongsma(a)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>
I just figured that patches that implement that were not even sent
upstream... We will do so shortly. I would however welcome a discussion
on a sane and consistent XML design for both series.
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
--
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