[dpdk-dev,v6,05/11] eal: replace rte_panic instances in eventdev

Message ID 1524552123-31378-6-git-send-email-arnon@qwilt.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Arnon Warshavsky April 24, 2018, 6:41 a.m. UTC
  replace panic calls with log and return value.

Signed-off-by: Arnon Warshavsky <arnon@qwilt.com>
---
 lib/librte_eventdev/rte_eventdev_pmd_pci.h  | 8 +++++---
 lib/librte_eventdev/rte_eventdev_pmd_vdev.h | 8 +++++---
 2 files changed, 10 insertions(+), 6 deletions(-)
  

Comments

Stephen Hemminger April 24, 2018, 3:04 p.m. UTC | #1
On Tue, 24 Apr 2018 09:41:57 +0300
Arnon Warshavsky <arnon@qwilt.com> wrote:

> diff --git a/lib/librte_eventdev/rte_eventdev_pmd_pci.h b/lib/librte_eventdev/rte_eventdev_pmd_pci.h
> index 8fb6138..6e08705 100644
> --- a/lib/librte_eventdev/rte_eventdev_pmd_pci.h
> +++ b/lib/librte_eventdev/rte_eventdev_pmd_pci.h
> @@ -66,9 +66,11 @@
>  						RTE_CACHE_LINE_SIZE,
>  						rte_socket_id());
>  
> -		if (eventdev->data->dev_private == NULL)
> -			rte_panic("Cannot allocate memzone for private "
> -					"device data");
> +		if (eventdev->data->dev_private == NULL) {
> +			RTE_LOG(CRIT, EAL, "%s(): Cannot allocate memzone for private device data",
> +				__func__);
> +			return -ENOMEM;
> +		}
>  	

Off topic, why is the probe function inline in a .h file.
This is wasteful, and not at all performance critical. it should be in the .c file.
  
Stephen Hemminger April 24, 2018, 3:06 p.m. UTC | #2
On Tue, 24 Apr 2018 09:41:57 +0300
Arnon Warshavsky <arnon@qwilt.com> wrote:

> +		if (eventdev->data->dev_private == NULL) {
> +			RTE_LOG(CRIT, EAL, "%s(): Cannot allocate memzone for private device data",
> +				__func__);
> +			return -ENOMEM;
> +		}

In eventdev, use RTE_EDEV_LOG_ERR for this.
  
Arnon Warshavsky April 24, 2018, 7:28 p.m. UTC | #3
Thanks. Same as with dpaa

On Tue, Apr 24, 2018 at 6:06 PM, Stephen Hemminger <
stephen@networkplumber.org> wrote:

> On Tue, 24 Apr 2018 09:41:57 +0300
> Arnon Warshavsky <arnon@qwilt.com> wrote:
>
> > +             if (eventdev->data->dev_private == NULL) {
> > +                     RTE_LOG(CRIT, EAL, "%s(): Cannot allocate memzone
> for private device data",
> > +                             __func__);
> > +                     return -ENOMEM;
> > +             }
>
> In eventdev, use RTE_EDEV_LOG_ERR for this.
>
  

Patch

diff --git a/lib/librte_eventdev/rte_eventdev_pmd_pci.h b/lib/librte_eventdev/rte_eventdev_pmd_pci.h
index 8fb6138..6e08705 100644
--- a/lib/librte_eventdev/rte_eventdev_pmd_pci.h
+++ b/lib/librte_eventdev/rte_eventdev_pmd_pci.h
@@ -66,9 +66,11 @@ 
 						RTE_CACHE_LINE_SIZE,
 						rte_socket_id());
 
-		if (eventdev->data->dev_private == NULL)
-			rte_panic("Cannot allocate memzone for private "
-					"device data");
+		if (eventdev->data->dev_private == NULL) {
+			RTE_LOG(CRIT, EAL, "%s(): Cannot allocate memzone for private device data",
+				__func__);
+			return -ENOMEM;
+		}
 	}
 
 	eventdev->dev = &pci_dev->device;
diff --git a/lib/librte_eventdev/rte_eventdev_pmd_vdev.h b/lib/librte_eventdev/rte_eventdev_pmd_vdev.h
index 8c64a06..b7c08fa 100644
--- a/lib/librte_eventdev/rte_eventdev_pmd_vdev.h
+++ b/lib/librte_eventdev/rte_eventdev_pmd_vdev.h
@@ -61,9 +61,11 @@ 
 						RTE_CACHE_LINE_SIZE,
 						socket_id);
 
-		if (eventdev->data->dev_private == NULL)
-			rte_panic("Cannot allocate memzone for private device"
-					" data");
+		if (eventdev->data->dev_private == NULL) {
+			RTE_LOG(CRIT, EAL, "%s(): Cannot allocate memzone for private device data",
+				__func__);
+			return NULL;
+		}
 	}
 
 	return eventdev;