>From: Mooney, Sean K
>Sent: Sunday, November 26, 2017 11:28 PM
>To: Kavanagh, Mark B <mark.b.kavan...@intel.com>; Jan Scheurich
><jan.scheur...@ericsson.com>; Kevin Traynor <ktray...@redhat.com>;
>d...@openvswitch.org
>Cc: maxime.coque...@redhat.com; Flavio Leitner <f...@redhat.com>; Franck Baudin
><fbau...@redhat.com>; Ilya Maximets <i.maxim...@samsung.com>; Stokes, Ian
><ian.sto...@intel.com>; Loftus, Ciara <ciara.lof...@intel.com>; Darrell Ball
><db...@vmware.com>; Aaron Conole <acon...@redhat.com>; Mooney, Sean K
><sean.k.moo...@intel.com>
>Subject: RE: [ovs-dev] [PATCH 2/2] netdev-dpdk: add support for vhost IOMMU
>feature
>
>
>
>> -----Original Message-----
>> From: Kavanagh, Mark B
>> Sent: Friday, November 24, 2017 4:45 PM
>> To: Jan Scheurich <jan.scheur...@ericsson.com>; Kevin Traynor
>> <ktray...@redhat.com>; d...@openvswitch.org
>> Cc: maxime.coque...@redhat.com; Flavio Leitner <f...@redhat.com>; Franck
>> Baudin <fbau...@redhat.com>; Mooney, Sean K <sean.k.moo...@intel.com>;
>> Ilya Maximets <i.maxim...@samsung.com>; Stokes, Ian
>> <ian.sto...@intel.com>; Loftus, Ciara <ciara.lof...@intel.com>; Darrell
>> Ball <db...@vmware.com>; Aaron Conole <acon...@redhat.com>
>> Subject: RE: [ovs-dev] [PATCH 2/2] netdev-dpdk: add support for vhost
>> IOMMU feature
>>
>> Sounds good guys - I'll get cracking on this on Monday.
>>
>> Cheers,
>> Mark
>>
>> >-----Original Message-----
>> >From: Jan Scheurich [mailto:jan.scheur...@ericsson.com]
>> >Sent: Friday, November 24, 2017 4:21 PM
>> >To: Kevin Traynor <ktray...@redhat.com>; Kavanagh, Mark B
>> ><mark.b.kavan...@intel.com>; d...@openvswitch.org
>> >Cc: maxime.coque...@redhat.com; Flavio Leitner <f...@redhat.com>;
>> Franck
>> >Baudin <fbau...@redhat.com>; Mooney, Sean K <sean.k.moo...@intel.com>;
>> >Ilya Maximets <i.maxim...@samsung.com>; Stokes, Ian
>> ><ian.sto...@intel.com>; Loftus, Ciara <ciara.lof...@intel.com>;
>> Darrell
>> >Ball <db...@vmware.com>; Aaron Conole <acon...@redhat.com>
>> >Subject: RE: [ovs-dev] [PATCH 2/2] netdev-dpdk: add support for vhost
>> >IOMMU feature
>> >
>> >+1
>> >Jan
>> >
>> >> -----Original Message-----
>> >> From: Kevin Traynor [mailto:ktray...@redhat.com]
>> >> Sent: Friday, 24 November, 2017 17:11
>> >> To: Mark Kavanagh <mark.b.kavan...@intel.com>; d...@openvswitch.org
>> >> Cc: maxime.coque...@redhat.com; Flavio Leitner <f...@redhat.com>;
>> >> Franck
>> >Baudin <fbau...@redhat.com>; Mooney, Sean K
>> >> <sean.k.moo...@intel.com>; Ilya Maximets <i.maxim...@samsung.com>;
>> >> Ian
>> >Stokes <ian.sto...@intel.com>; Loftus, Ciara
>> >> <ciara.lof...@intel.com>; Darrell Ball <db...@vmware.com>; Aaron
>> >> Conole
>> ><acon...@redhat.com>; Jan Scheurich
>> >> <jan.scheur...@ericsson.com>
>> >> Subject: Re: [ovs-dev] [PATCH 2/2] netdev-dpdk: add support for
>> vhost
>> >> IOMMU
>> >feature
>> >>
>> >> On 11/16/2017 11:01 AM, Mark Kavanagh wrote:
>> >> > DPDK v17.11 introduces support for the vHost IOMMU feature.
>> >> > This is a security feature, that restricts the vhost memory that a
>> >> > virtio device may access.
>> >> >
>> >> > This feature also enables the vhost REPLY_ACK protocol, the
>> >> > implementation of which is known to work in newer versions of QEMU
>> >> > (i.e. v2.10.0), but is buggy in older versions (v2.7.0 - v2.9.0,
>> >> > inclusive). As such, the feature is disabled by default in (and
>> >> > should remain so, for the aforementioned older QEMU verions).
>> >> > Starting with QEMU v2.9.1, vhost-iommu-support can safely be
>> >> > enabled, even without having an IOMMU device, with no performance
>> >> > penalty.
>> >> >
>> >> > This patch adds a new vhost port option, vhost-iommu-support, to
>> >> > allow enablement of the vhost IOMMU feature:
>> >> >
>> >> >     $ ovs-vsctl add-port br0 vhost-client-1 \
>> >> >         -- set Interface vhost-client-1 type=dpdkvhostuserclient \
>> >> >              options:vhost-server-path=$VHOST_USER_SOCKET_PATH   \
>> >> >              options:vhost-iommu-support=true
>> >> >
>> >>
>> >> Hi Mark, All,
>> >>
>> >> I'm thinking about this and whether the current approach provides
>> >> more than what is actually needed by users at the cost of making the
>> >> user interface more complex.
>[Mooney, Sean K] I am personally split on this. To enable iommu support in
>openstack with the above interface we would have to do two things. 1 extend
>the image metatdata
>or flavor extra specs to allow requesting a vIOMMU. Second we would have to
>modify os-vif to produce
>the add-port command above. Using this interfaces gives us a nice parity in
>our api
>as we only enable iommu support in ovs if we enable for qemu. E.g. if the
>falvor/image does not request
>a virtualized iommu we wont declare its support in the options.
>> >>
>> >> As an alternative, how about having a global other_config (to be set
>> >> like vhost-socket-dir can be) for this instead of having to set it
>> >> for each individual interface. It would mean that it would only have
>> >> to be set once, instead of having this (ugly?!) option every time a
>> >> vhost port is added, so it's a less intrusive change and I can't
>> >> really think that a user would require to do this per vhostclient
>[Mooney, Sean K]  well one taught that instantly comes to mind is if I set
>The global other_config option what happens if I do not request a iommu in
>qemu
>Or I have an old qemu.  If it would have any negative effect on network
>connectivity
>Or prevent the vm from functioning, that would require the nova scheduler to
>be
>Aware of which node had this option set and take that into account when
>placing vms.
>I assume if it had no negative effects  then we would not need a option,
>global or per
>Interface.
>> >> interface??? It's pain to have to add this at all for a bug in QEMU
>> >> and I'm sure in 1/2/3 years time someone will say that users could
>> >> still be using QEMU < 2.9.1 and we can't remove it, so it would be
>> >> nice to keep it as discreet as possible as we're going to be stuck
>> with it for a while.
>> >>
>> >> I assume that a user would only use one version of QEMU at a time
>> and
>> >> would either want or not want this feature. In the worst case, if
>> >> that proved completely wrong in the future, then a per interface
>> >> override could easily be added. Once there's a way to maintain
>> >> backwards compatibility (which there would be) I'd rather err on the
>> >> side of introducing just enough enough functionality over increasing
>> >> complexity for the user.
>> >>
>> >> What do you think?
>[Mooney, Sean K] I'm not sure that a single qemu version is a valid assumption
>to make.
>At least in an OpenStack context where rolling upgrades are a thing. But you
>are right
>That it will be less common however if it was no existent we would not have
>the issue with
>Live migration between nodes with different feature sets that is also trying
>to be addressed this
>Cycle. If we add a global config option for iommu support that is yet another
>thing that needs
>To be accounted for during live migration.
>> >>

Hi Kevin, Jan,

Any thoughts on Sean's concerns?

I'll hold off on implementation until we have consensus.

Thanks,
Mark




>> >> thanks,
>> >> Kevin.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to