config: disable iova phys for dpaa and 1588 for dpaa2

Message ID 20191004111106.30267-1-nipun.gupta@nxp.com
State New
Headers show
Series
  • config: disable iova phys for dpaa and 1588 for dpaa2
Related show

Commit Message

Nipun Gupta Oct. 4, 2019, 11:11 a.m.
IOVA_PHYS flag is not required in the DPAA config, thus disable it.
Also, disable the 1588 timer support by default on DPAA2 platform
due to the performance impact

Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>

---

This patch is rebase over dpdk-next-net

config/defconfig_arm64-dpaa-linuxapp-gcc  | 2 ++
 config/defconfig_arm64-dpaa2-linuxapp-gcc | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

-- 
2.17.1

Comments

Hemant Agrawal Oct. 10, 2019, 12:26 p.m. | #1
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
David Marchand Oct. 27, 2019, 11:03 a.m. | #2
On Fri, Oct 4, 2019 at 1:26 PM Nipun Gupta <nipun.gupta@nxp.com> wrote:
>

> IOVA_PHYS flag is not required in the DPAA config, thus disable it.

> Also, disable the 1588 timer support by default on DPAA2 platform

> due to the performance impact


With this patch, we don't have a single target using the 1588 timer support.
This means that it will get broken in the future.

Is this used?

>

> Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>


With this patch, the meson configuration is unaligned with the make
configuration.

If I look before the patch:

origin/master:config/meson.build:dpdk_conf.set('RTE_LIBRTE_DPAA2_USE_PHYS_IOVA',
true)
origin/master:config/arm/meson.build:
['RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', false]]

origin/master:config/common_base:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y
origin/master:config/defconfig_arm64-dpaa2-linuxapp-gcc:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=n

And in the history, I understand:
- option (with dpaa2 in the name) introduced and enabled for all
- later, disabled for dpaa2

Does it mean the option can be removed?


-- 
David Marchand
Nipun Gupta Oct. 30, 2019, 9:36 a.m. | #3
Hi David,

> -----Original Message-----

> From: David Marchand <david.marchand@redhat.com>

> Sent: Sunday, October 27, 2019 4:33 PM

> To: Nipun Gupta <nipun.gupta@nxp.com>

> Cc: dev <dev@dpdk.org>; Yigit, Ferruh <ferruh.yigit@intel.com>; Hemant

> Agrawal <hemant.agrawal@nxp.com>; Sachin Saxena

> <sachin.saxena@nxp.com>; Thomas Monjalon <thomas@monjalon.net>

> Subject: Re: [dpdk-dev] [PATCH] config: disable iova phys for dpaa and 1588

> for dpaa2

> 

> On Fri, Oct 4, 2019 at 1:26 PM Nipun Gupta <nipun.gupta@nxp.com> wrote:

> >

> > IOVA_PHYS flag is not required in the DPAA config, thus disable it.

> > Also, disable the 1588 timer support by default on DPAA2 platform

> > due to the performance impact

> 

> With this patch, we don't have a single target using the 1588 timer support.

> This means that it will get broken in the future.

> 

> Is this used?


Yes, this is enabled when PTP client application is used. We have by default disabled it 
because it has performance implications. We enable it in our system testing from time to 
time basis.

> 

> >

> > Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>

> 

> With this patch, the meson configuration is unaligned with the make

> configuration.


I am not sure if I get this. In meson build as you mentioned:
- config/meson.build:dpdk_conf.set('RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', true)
- config/arm/meson.build: ['RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', false]]

And in Makefile:
config/common_base: CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y
config/defconfig_arm64-dpaa2-linuxapp-gcc:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=n

And now we have:
config/defconfig_arm64-dpaa-linuxapp-gcc:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=n

Can you please let me know if I need to make any change for meson build.

> 

> If I look before the patch:

> 

> origin/master:config/meson.build:dpdk_conf.set('RTE_LIBRTE_DPAA2_USE_

> PHYS_IOVA',

> true)

> origin/master:config/arm/meson.build:

> ['RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', false]]

> 

> origin/master:config/common_base:CONFIG_RTE_LIBRTE_DPAA2_USE_PHY

> S_IOVA=y

> origin/master:config/defconfig_arm64-dpaa2-linuxapp-

> gcc:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=n

> 

> And in the history, I understand:

> - option (with dpaa2 in the name) introduced and enabled for all

> - later, disabled for dpaa2

> 

> Does it mean the option can be removed?


Here again, we use this option when running DPDK in Virtual Machine (Direct Assignment). 
By default this option is disabled, but for VM scenarios we use this option extensively.

Thanks,
Nipun

> 

> 

> --

> David Marchand
David Marchand Oct. 30, 2019, 10:14 a.m. | #4
On Wed, Oct 30, 2019 at 10:37 AM Nipun Gupta <nipun.gupta@nxp.com> wrote:
>

> Hi David,

>

> > -----Original Message-----

> > From: David Marchand <david.marchand@redhat.com>

> > Sent: Sunday, October 27, 2019 4:33 PM

> > To: Nipun Gupta <nipun.gupta@nxp.com>

> > Cc: dev <dev@dpdk.org>; Yigit, Ferruh <ferruh.yigit@intel.com>; Hemant

> > Agrawal <hemant.agrawal@nxp.com>; Sachin Saxena

> > <sachin.saxena@nxp.com>; Thomas Monjalon <thomas@monjalon.net>

> > Subject: Re: [dpdk-dev] [PATCH] config: disable iova phys for dpaa and 1588

> > for dpaa2

> >

> > On Fri, Oct 4, 2019 at 1:26 PM Nipun Gupta <nipun.gupta@nxp.com> wrote:

> > >

> > > IOVA_PHYS flag is not required in the DPAA config, thus disable it.

> > > Also, disable the 1588 timer support by default on DPAA2 platform

> > > due to the performance impact

> >

> > With this patch, we don't have a single target using the 1588 timer support.

> > This means that it will get broken in the future.

> >

> > Is this used?

>

> Yes, this is enabled when PTP client application is used. We have by default disabled it

> because it has performance implications. We enable it in our system testing from time to

> time basis.


Ok, but beware that, starting from now, we (maintainers) won't see
that the compilation gets broken with this feature enabled.
Hope you can catch issues quickly.


> > With this patch, the meson configuration is unaligned with the make

> > configuration.

>

> I am not sure if I get this. In meson build as you mentioned:

> - config/meson.build:dpdk_conf.set('RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', true)

> - config/arm/meson.build: ['RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', false]]

>

> And in Makefile:

> config/common_base: CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y

> config/defconfig_arm64-dpaa2-linuxapp-gcc:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=n

>

> And now we have:

> config/defconfig_arm64-dpaa-linuxapp-gcc:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=n

>

> Can you please let me know if I need to make any change for meson build.


You updated the configuration for the dpaa machine in make.
config/arm/meson.build: ['RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', false]]
only applies to dpaa2.
So in meson, the dpaa machine still has RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y

>

> >

> > If I look before the patch:

> >

> > origin/master:config/meson.build:dpdk_conf.set('RTE_LIBRTE_DPAA2_USE_

> > PHYS_IOVA',

> > true)

> > origin/master:config/arm/meson.build:

> > ['RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', false]]

> >

> > origin/master:config/common_base:CONFIG_RTE_LIBRTE_DPAA2_USE_PHY

> > S_IOVA=y

> > origin/master:config/defconfig_arm64-dpaa2-linuxapp-

> > gcc:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=n

> >

> > And in the history, I understand:

> > - option (with dpaa2 in the name) introduced and enabled for all

> > - later, disabled for dpaa2

> >

> > Does it mean the option can be removed?

>

> Here again, we use this option when running DPDK in Virtual Machine (Direct Assignment).

> By default this option is disabled, but for VM scenarios we use this option extensively.


I don't understand when or on which platform you want this enabled/disabled.


If this option is supposed to be disabled by default, then the value
in those files (below) should be changed to n/false.
config/common_base:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y
config/meson.build:dpdk_conf.set('RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', true)
doc/guides/nics/dpaa2.rst:- ``CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA``
(default ``y``)

And then, we end up in the same situation than described above with no
configuration referencing this option enabled.

Please clarify.


--
David Marchand
Nipun Gupta Oct. 31, 2019, 6:56 a.m. | #5
Hi David,

> >

> > > -----Original Message-----

> > > From: David Marchand <david.marchand@redhat.com>

> > > Subject: Re: [dpdk-dev] [PATCH] config: disable iova phys for dpaa and

> 1588

> > > for dpaa2

> > >

> > > On Fri, Oct 4, 2019 at 1:26 PM Nipun Gupta <nipun.gupta@nxp.com>

> wrote:

> > > >

> > > > IOVA_PHYS flag is not required in the DPAA config, thus disable it.

> > > > Also, disable the 1588 timer support by default on DPAA2 platform

> > > > due to the performance impact

> > >

> > > With this patch, we don't have a single target using the 1588 timer

> support.

> > > This means that it will get broken in the future.

> > >

> > > Is this used?

> >

> > Yes, this is enabled when PTP client application is used. We have by default

> disabled it

> > because it has performance implications. We enable it in our system testing

> from time to

> > time basis.

> 

> Ok, but beware that, starting from now, we (maintainers) won't see

> that the compilation gets broken with this feature enabled.

> Hope you can catch issues quickly.


Yes.. we will take care of it.

> 

> 

> > > With this patch, the meson configuration is unaligned with the make

> > > configuration.

> >

> > I am not sure if I get this. In meson build as you mentioned:

> > -

> config/meson.build:dpdk_conf.set('RTE_LIBRTE_DPAA2_USE_PHYS_IOVA',

> true)

> > - config/arm/meson.build: ['RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', false]]

> >

> > And in Makefile:

> > config/common_base: CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y

> > config/defconfig_arm64-dpaa2-linuxapp-

> gcc:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=n

> >

> > And now we have:

> > config/defconfig_arm64-dpaa-linuxapp-

> gcc:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=n

> >

> > Can you please let me know if I need to make any change for meson build.

> 

> You updated the configuration for the dpaa machine in make.

> config/arm/meson.build: ['RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', false]]

> only applies to dpaa2.

> So in meson, the dpaa machine still has

> RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y

> 

> >

> > >

> > > If I look before the patch:

> > >

> > >

> origin/master:config/meson.build:dpdk_conf.set('RTE_LIBRTE_DPAA2_USE_

> > > PHYS_IOVA',

> > > true)

> > > origin/master:config/arm/meson.build:

> > > ['RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', false]]

> > >

> > >

> origin/master:config/common_base:CONFIG_RTE_LIBRTE_DPAA2_USE_PHY

> > > S_IOVA=y

> > > origin/master:config/defconfig_arm64-dpaa2-linuxapp-

> > > gcc:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=n

> > >

> > > And in the history, I understand:

> > > - option (with dpaa2 in the name) introduced and enabled for all

> > > - later, disabled for dpaa2

> > >

> > > Does it mean the option can be removed?

> >

> > Here again, we use this option when running DPDK in Virtual Machine

> (Direct Assignment).

> > By default this option is disabled, but for VM scenarios we use this option

> extensively.

> 

> I don't understand when or on which platform you want this

> enabled/disabled.

> 

> 

> If this option is supposed to be disabled by default, then the value

> in those files (below) should be changed to n/false.

> config/common_base:CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y

> config/meson.build:dpdk_conf.set('RTE_LIBRTE_DPAA2_USE_PHYS_IOVA',

> true)

> doc/guides/nics/dpaa2.rst:-

> ``CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA``

> (default ``y``)


Reflecting and analyzing your comments, yes, there are discrepancies.
I will send patch to clean it up.

Thanks,
Nipun

> 

> And then, we end up in the same situation than described above with no

> configuration referencing this option enabled.

> 

> Please clarify.

> 

> 

> --

> David Marchand

Patch

diff --git a/config/defconfig_arm64-dpaa-linuxapp-gcc b/config/defconfig_arm64-dpaa-linuxapp-gcc
index b408d4f48..c5599b4fa 100644
--- a/config/defconfig_arm64-dpaa-linuxapp-gcc
+++ b/config/defconfig_arm64-dpaa-linuxapp-gcc
@@ -24,3 +24,5 @@  CONFIG_RTE_LIBRTE_DPAA_HWDEBUG=n
 
 # NXP CAAM_JR driver
 CONFIG_RTE_LIBRTE_PMD_CAAM_JR_BE=y
+
+CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=n
diff --git a/config/defconfig_arm64-dpaa2-linuxapp-gcc b/config/defconfig_arm64-dpaa2-linuxapp-gcc
index 5c7eddd5e..b2ccbec0c 100644
--- a/config/defconfig_arm64-dpaa2-linuxapp-gcc
+++ b/config/defconfig_arm64-dpaa2-linuxapp-gcc
@@ -15,8 +15,8 @@  CONFIG_RTE_CACHE_LINE_SIZE=64
 
 CONFIG_RTE_PKTMBUF_HEADROOM=128
 
-# Enable IEEE1588, Keep it disable by default
-CONFIG_RTE_LIBRTE_IEEE1588=y
+# Disable IEEE1588 by default
+CONFIG_RTE_LIBRTE_IEEE1588=n
 
 # Doesn't support NUMA
 CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n