[dpdk-dev,14/25] eal: do not panic on tailq init
Checks
Commit Message
There are some theoretical racy conditions in the system that _could_
cause early tailq init to fail; however, no need to panic the
application. While it can't continue using DPDK, it could make better
alerts to the user.
Signed-off-by: Aaron Conole <aconole@redhat.com>
---
lib/librte_eal/common/eal_common_tailqs.c | 4 ++--
lib/librte_eal/linuxapp/eal/eal.c | 7 +++++--
2 files changed, 7 insertions(+), 4 deletions(-)
Comments
On Fri, 27 Jan 2017 09:56:52 -0500
Aaron Conole <aconole@redhat.com> wrote:
> + /* no need to TAILQ_REMOVE, we are going to disallow re-attemtps
> + * for rte_eal_init(). */
Please put multi-line comments in form:
/*
* this is a long comment
* because there really is lots to say
*/
In many cases, having shorter comment is the best way to handle these.
Often developer writes long comment for themselves because what ever problem
they saw was urgent. Then comment becomes irrelevant later.
/* TAILQ_REMOVE not needed, error is already fatal */
Stephen Hemminger <stephen@networkplumber.org> writes:
> On Fri, 27 Jan 2017 09:56:52 -0500
> Aaron Conole <aconole@redhat.com> wrote:
>
>> + /* no need to TAILQ_REMOVE, we are going to disallow re-attemtps
>> + * for rte_eal_init(). */
>
> Please put multi-line comments in form:
> /*
> * this is a long comment
> * because there really is lots to say
> */
Okay, will do.
> In many cases, having shorter comment is the best way to handle these.
> Often developer writes long comment for themselves because what ever problem
> they saw was urgent. Then comment becomes irrelevant later.
>
> /* TAILQ_REMOVE not needed, error is already fatal */
I'll fold this in.
Thanks for the review!
@@ -188,8 +188,8 @@ rte_eal_tailqs_init(void)
if (t->head == NULL) {
RTE_LOG(ERR, EAL,
"Cannot initialize tailq: %s\n", t->name);
- /* no need to TAILQ_REMOVE, we are going to panic in
- * rte_eal_init() */
+ /* no need to TAILQ_REMOVE, we are going to disallow re-attemtps
+ * for rte_eal_init(). */
goto fail;
}
}
@@ -854,8 +854,11 @@ rte_eal_init(int argc, char **argv)
return -1;
}
- if (rte_eal_tailqs_init() < 0)
- rte_panic("Cannot init tail queues for objects\n");
+ if (rte_eal_tailqs_init() < 0) {
+ RTE_LOG (ERR, EAL, "Cannot init tail queues for objects\n");
+ errno = ENOTSUP;
+ return -1;
+ }
if (rte_eal_alarm_init() < 0)
rte_panic("Cannot init interrupt-handling thread\n");