config: enable packet prefetching with Meson
Checks
Commit Message
With Make build system, RTE_PMD_PACKET_PREFETCH was enabled
by default. It got lost when transitioning to Meson build
system.
In order to avoid performance changes, this patch enables
packet prefetching in rte_config.h.
Reported-by: Marvin Liu <yong.liu@intel.com>
Suggested-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
Hi Bruce,
We were not sure whether adding below Fixes tag so that it is
backported to LTSes. What do you think?
Fixes: 9314afb68a53 ("drivers: add infrastructure for meson build")
Cc: stable@dpdk.org
config/rte_config.h | 3 +++
1 file changed, 3 insertions(+)
Comments
On Fri, Nov 13, 2020 at 03:52:12PM +0100, Maxime Coquelin wrote:
> With Make build system, RTE_PMD_PACKET_PREFETCH was enabled
> by default. It got lost when transitioning to Meson build
> system.
>
> In order to avoid performance changes, this patch enables
> packet prefetching in rte_config.h.
>
> Reported-by: Marvin Liu <yong.liu@intel.com>
> Suggested-by: David Marchand <david.marchand@redhat.com>
> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> ---
>
> Hi Bruce,
>
> We were not sure whether adding below Fixes tag so that it is
> backported to LTSes. What do you think?
>
> Fixes: 9314afb68a53 ("drivers: add infrastructure for meson build")
> Cc: stable@dpdk.org
>
> config/rte_config.h | 3 +++
> 1 file changed, 3 insertions(+)
>
I view it as a gap in the transition from make to meson, so +1 for
adding these. Stable maintainers can then decide themselves on whether to
accept the patch or not.
/Bruce
13/11/2020 16:05, Bruce Richardson:
> On Fri, Nov 13, 2020 at 03:52:12PM +0100, Maxime Coquelin wrote:
> > With Make build system, RTE_PMD_PACKET_PREFETCH was enabled
> > by default. It got lost when transitioning to Meson build
> > system.
> >
> > In order to avoid performance changes, this patch enables
> > packet prefetching in rte_config.h.
> >
> > Reported-by: Marvin Liu <yong.liu@intel.com>
> > Suggested-by: David Marchand <david.marchand@redhat.com>
> > Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> > ---
> >
> > Hi Bruce,
> >
> > We were not sure whether adding below Fixes tag so that it is
> > backported to LTSes. What do you think?
> >
> > Fixes: 9314afb68a53 ("drivers: add infrastructure for meson build")
> > Cc: stable@dpdk.org
> >
> > config/rte_config.h | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> I view it as a gap in the transition from make to meson, so +1 for
> adding these. Stable maintainers can then decide themselves on whether to
> accept the patch or not.
Applied with backport info, thanks.
14/11/2020 09:51, Thomas Monjalon:
> 13/11/2020 16:05, Bruce Richardson:
> > On Fri, Nov 13, 2020 at 03:52:12PM +0100, Maxime Coquelin wrote:
> > > With Make build system, RTE_PMD_PACKET_PREFETCH was enabled
> > > by default. It got lost when transitioning to Meson build
> > > system.
> > >
> > > In order to avoid performance changes, this patch enables
> > > packet prefetching in rte_config.h.
> > >
> > > Reported-by: Marvin Liu <yong.liu@intel.com>
> > > Suggested-by: David Marchand <david.marchand@redhat.com>
> > > Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
[...]
>
> Applied with backport info, thanks.
Note that it is added back for "compatibility",
but I am still in favour of dropping this config option,
replaced by arch decision if any:
http://inbox.dpdk.org/dev/3677226.MZCibFMyqQ@thomas/
The decision of such optimization should be done in DPDK project,
not in the hand of the packager.
On Sat, Nov 14, 2020 at 10:00 AM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 14/11/2020 09:51, Thomas Monjalon:
> > 13/11/2020 16:05, Bruce Richardson:
> > > On Fri, Nov 13, 2020 at 03:52:12PM +0100, Maxime Coquelin wrote:
> > > > With Make build system, RTE_PMD_PACKET_PREFETCH was enabled
> > > > by default. It got lost when transitioning to Meson build
> > > > system.
> > > >
> > > > In order to avoid performance changes, this patch enables
> > > > packet prefetching in rte_config.h.
> > > >
> > > > Reported-by: Marvin Liu <yong.liu@intel.com>
> > > > Suggested-by: David Marchand <david.marchand@redhat.com>
> > > > Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> [...]
> >
> > Applied with backport info, thanks.
>
> Note that it is added back for "compatibility",
> but I am still in favour of dropping this config option,
> replaced by arch decision if any:
> http://inbox.dpdk.org/dev/3677226.MZCibFMyqQ@thomas/
>
> The decision of such optimization should be done in DPDK project,
> not in the hand of the packager.
I am for dropping this too.
And for cleaning more prefetch-related stuff, like:
#if 1
#define RTE_PMD_USE_PREFETCH
#endif
#ifdef RTE_PMD_USE_PREFETCH
#define rte_em_prefetch(p) rte_prefetch0(p)
#else
#define rte_em_prefetch(p) do {} while(0)
#endif
This has been copied into other drivers.
The igc driver forgot(?) to force #define this macro, so it just
copied unused code.
@@ -103,6 +103,9 @@
/****** driver defines ********/
+/* Packet prefetching in PMDs */
+#define RTE_PMD_PACKET_PREFETCH 1
+
/* QuickAssist device */
/* Max. number of QuickAssist devices which can be attached */
#define RTE_PMD_QAT_MAX_PCI_DEVICES 48