[dpdk-dev] [PATCH 2/2] net/vhost: support mrg-rxbuf disabling
Matan Azrad
matan at mellanox.com
Wed Jun 26 13:18:55 CEST 2019
From: Maxime Coquelin
> On 6/26/19 9:50 AM, Matan Azrad wrote:
> > Hi Maxim
> >
> > Any response here?
> >
> > Besides that,
> >
> > Regarding the TSO and this patch:
> > I think we shouldn't be so strict to not take them for this version:
> > 1. The later time was a technical issue with the mailer - a mistake.
> > 2. The patches don't change any default and makes sense - will not hurt
> anyone.
> >
> > So I think we can do it beyond the letter of the law.
> >
> > From: Maxime Coquelin
> > > Sent: Thursday, June 20, 2019 10:19 AM
> > > To: Matan Azrad <matan at mellanox.com>; Noa Ezra
> > <noae at mellanox.com>
> > > Cc: dev at dpdk.org
> > > Subject: Re: [PATCH 2/2] net/vhost: support mrg-rxbuf disabling
> > >
> > >
> > >
> > > On 6/20/19 8:52 AM, Matan Azrad wrote:
> > > > Hi all
> > > >
> > > >> -----Original Message-----
> > > >> From: Noa Ezra
> > > >> Sent: Thursday, June 20, 2019 8:58 AM
> > > >> To: Maxime Coquelin <maxime.coquelin at redhat.com>
> > > >> Cc: Matan Azrad <matan at mellanox.com>; dev at dpdk.org
> > > >> Subject: RE: [PATCH 2/2] net/vhost: support mrg-rxbuf disabling
> > > >>
> > > >> Hi Maxime,
> > > >> Thanks for your comment, please see below.
> > > >>
> > > >>> -----Original Message-----
> > > >>> From: Maxime Coquelin [mailto:maxime.coquelin at redhat.com]
> > > >>> Sent: Wednesday, June 19, 2019 12:10 PM
> > > >>> To: Noa Ezra <noae at mellanox.com>
> > > >>> Cc: Matan Azrad <matan at mellanox.com>; dev at dpdk.org
> > > >>> Subject: Re: [PATCH 2/2] net/vhost: support mrg-rxbuf disabling
> > > >>>
> > > >>> Hi Noa,
> > > >>>
> > > >>> On 6/19/19 8:13 AM, Noa Ezra wrote:
> > > >>>> Rx mergeable buffers is a virtio feature that allows chaining of
> > > >>>> multiple virtio descriptors to handle large packet size.
> > > >>>> This behavior is supported and enabled by default, however in
> > > >>>> case the user knows that rx mergeable buffers are not needed, he
> > > >>>> can disable the feature.
> > > >>>> The user should also set mrg_rxbuf=off in virtual machine's xml.
> > > >>>
> > > >>> I'm not sure to understand why it is needed, as the vhost-user
> > > >>> library supports the feature, it's better to let it being advertised.
> > > >>>
> > > >>> As you say, it is up to the user to disable it in the VM's XML.
> > > >>> Done this way, the feature won't be negotiated.
> > > >>>
> > > >> I agree with you, I'll remove this patch from the series.
> > > >
> > > > Are you sure that no performance impact exists for redundant
> > > > merg-rx-buf
> > > configuration here?
> > >
> > > I'm not sure to understand what you mean, could you please elaborate?
> > >
> > I guess that if this feature is enabled and the feature actually are not used
> > (no packets are scattered or merged) it will hurt the performance.
>
> Well, latest performance measurements does not show a big impact now on
> enabling mergeable buffers feature unconditionaly.
Did you test small packets \ big?
> > So if one of the sides doesn't want to use it because of performance, it
> may
> > want to disable it.
>
> And even if there is an impact, the way to disable it is through
> Libvirt/Qemu.
Not sure, as TSO application may decide to not do it in spite of it is configured in Qemu.
> > > > What if the second side want it and the current side no?
> > >
> > > The feature won't be negotiated, assuming it has been disabled in
> QEMU
> > > cmdline (or via libvirt).
> > > > It may be that the vhost PMD user may want to disable it to save
> > > performance from some reasons, no?
> > > >
> > >
> > > Then this user should disable it at QEMU level.
> > >
> > So the vhost PMD is not one of the sides to decide?
> > If so, why do we need the APIs to configure the features?
>
> Are you talking about the rte_vhost_driver_set_features() and related
> APIs?
Yes
> This is used for example by the external backends that support features
> specific to the backend type (e.g. crypto), or also used by OVS-DPDK, to
> disable TSO. So these usages are for functional reasons, not tuning.
Exactly, applications (like OVS) may decide to disable features because a lot of reasons.
> > Looks like also the qemu is configured with the feature the VM\host sides
> > may decide in some cases to disable it.
>
> For functional reasons, I agree. So I that's why I agree with your tso
> patch as the application has to support it, but that's not the case of
> the mergeable buffers features.
Performance reasons are not good enough?
> Tiwei, what's your opinion on this?
>
> > > Regards,
> > > Maxime
> >
More information about the dev
mailing list