bus/dpaa: do nothing if bus not present

Message ID 20181205220230.5640-1-stephen@networkplumber.org (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series bus/dpaa: do nothing if bus not present |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS
ci/checkpatch warning coding style issues

Commit Message

Stephen Hemminger Dec. 5, 2018, 10:02 p.m. UTC
  The DPAA bus support code put out messages like:
	dpaax: read_memory_node():	 Unable to glob device-tree memory node: (/proc/device-tree/memory[@0-9]*/reg)(3)
	dpaax: PA->VA translation not available;
	dpaax: Expect performance impact.

These are unnecessary and likely to confuse the end user.
Fix this by doing nothing if bus is empty.

Fixes: 5a7dbb934d75 ("dpaa: enable dpaax library")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/bus/dpaa/dpaa_bus.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
  

Comments

Shreyansh Jain Dec. 7, 2018, 6:45 a.m. UTC | #1
On Thursday 06 December 2018 03:32 AM, Stephen Hemminger wrote:
> The DPAA bus support code put out messages like:
> 	dpaax: read_memory_node():	 Unable to glob device-tree memory node: (/proc/device-tree/memory[@0-9]*/reg)(3)
> 	dpaax: PA->VA translation not available;
> 	dpaax: Expect performance impact.

Though I agree with the change below, I am surprised that you are 
observing such logs as above. These were disabled by bumping the dpaax 
library default log level to ERR:

--->8---
commit 93ec301495316922c0fb1df762e9322bad90b8dc
Author: Shreyansh Jain <shreyansh.jain@nxp.com>
Date:   Wed Oct 17 10:10:34 2018 +0000

     common/dpaax: reduce log level
---8>---

And the messages you observed above were either WARN or DEBUG.
Is this system running in debug mode?

> 
> These are unnecessary and likely to confuse the end user.
> Fix this by doing nothing if bus is empty.
> 
> Fixes: 5a7dbb934d75 ("dpaa: enable dpaax library")
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
>   drivers/bus/dpaa/dpaa_bus.c | 7 +++++--
>   1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
> index 203f60dc18cb..204a50b1eba3 100644
> --- a/drivers/bus/dpaa/dpaa_bus.c
> +++ b/drivers/bus/dpaa/dpaa_bus.c
> @@ -542,6 +542,10 @@ rte_dpaa_bus_probe(void)
>   	unsigned int svr_ver;
>   	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
>   
> +	/* If DPAA bus is not present nothing needs to be done */
> +	if (TAILQ_EMPTY(&rte_dpaa_bus.device_list))
> +		return 0;
> +
>   	svr_file = fopen(DPAA_SOC_ID_FILE, "r");
>   	if (svr_file) {
>   		if (fscanf(svr_file, "svr:%x", &svr_ver) > 0)
> @@ -586,8 +590,7 @@ rte_dpaa_bus_probe(void)
>   	/* Register DPAA mempool ops only if any DPAA device has
>   	 * been detected.
>   	 */
> -	if (!TAILQ_EMPTY(&rte_dpaa_bus.device_list))
> -		rte_mbuf_set_platform_mempool_ops(DPAA_MEMPOOL_OPS_NAME);
> +	rte_mbuf_set_platform_mempool_ops(DPAA_MEMPOOL_OPS_NAME);
>   
>   	return 0;
>   }
> 

This is actually the right thing to do - No work should be done by probe 
if scan didn't find anything. Thanks.

Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
  
Thomas Monjalon Dec. 19, 2018, 2:08 a.m. UTC | #2
07/12/2018 07:45, Shreyansh Jain:
> On Thursday 06 December 2018 03:32 AM, Stephen Hemminger wrote:
> > The DPAA bus support code put out messages like:
> > 	dpaax: read_memory_node():	 Unable to glob device-tree memory node: (/proc/device-tree/memory[@0-9]*/reg)(3)
> > 	dpaax: PA->VA translation not available;
> > 	dpaax: Expect performance impact.
> > 
> > These are unnecessary and likely to confuse the end user.
> > Fix this by doing nothing if bus is empty.
> > 
> > Fixes: 5a7dbb934d75 ("dpaa: enable dpaax library")
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> 
> This is actually the right thing to do - No work should be done by probe 
> if scan didn't find anything. Thanks.
> 
> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>

+Cc: stable@dpdk.org

Applied, thanks
  

Patch

diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index 203f60dc18cb..204a50b1eba3 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -542,6 +542,10 @@  rte_dpaa_bus_probe(void)
 	unsigned int svr_ver;
 	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
 
+	/* If DPAA bus is not present nothing needs to be done */
+	if (TAILQ_EMPTY(&rte_dpaa_bus.device_list))
+		return 0;
+
 	svr_file = fopen(DPAA_SOC_ID_FILE, "r");
 	if (svr_file) {
 		if (fscanf(svr_file, "svr:%x", &svr_ver) > 0)
@@ -586,8 +590,7 @@  rte_dpaa_bus_probe(void)
 	/* Register DPAA mempool ops only if any DPAA device has
 	 * been detected.
 	 */
-	if (!TAILQ_EMPTY(&rte_dpaa_bus.device_list))
-		rte_mbuf_set_platform_mempool_ops(DPAA_MEMPOOL_OPS_NAME);
+	rte_mbuf_set_platform_mempool_ops(DPAA_MEMPOOL_OPS_NAME);
 
 	return 0;
 }