From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnon Warshavsky Subject: Re: [PATCH v4 08/11] eal: replace rte_panic instances in interrupts thread Date: Fri, 20 Apr 2018 16:18:01 +0300 Message-ID: References: <1524117669-25729-1-git-send-email-arnon@qwilt.com> <1524117669-25729-9-git-send-email-arnon@qwilt.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Cc: Thomas Monjalon , "Burakov, Anatoly" , "Lu, Wenzhuo" , "Doherty, Declan" , jerin.jacob@caviumnetworks.com, Bruce Richardson , "Yigit, Ferruh" , dev@dpdk.org To: Kevin Traynor Return-path: Received: from mail-io0-f195.google.com (mail-io0-f195.google.com [209.85.223.195]) by dpdk.org (Postfix) with ESMTP id 9A91FA48D for ; Fri, 20 Apr 2018 15:18:02 +0200 (CEST) Received: by mail-io0-f195.google.com with SMTP id t123-v6so10511230iof.7 for ; Fri, 20 Apr 2018 06:18:02 -0700 (PDT) In-Reply-To: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Not deliberate.Thanks On Thu, Apr 19, 2018 at 8:27 PM, Kevin Traynor wrote: > On 04/19/2018 07:01 AM, Arnon Warshavsky wrote: > > replace panic calls with log and retrun value. > > Thread function removes the noretrun attribute. > > > > Signed-off-by: Arnon Warshavsky > > --- > > lib/librte_eal/linuxapp/eal/eal_interrupts.c | 27 > ++++++++++++++++++++------- > > 1 file changed, 20 insertions(+), 7 deletions(-) > > > > diff --git a/lib/librte_eal/linuxapp/eal/eal_interrupts.c > b/lib/librte_eal/linuxapp/eal/eal_interrupts.c > > index 58e9328..8b8650a 100644 > > --- a/lib/librte_eal/linuxapp/eal/eal_interrupts.c > > +++ b/lib/librte_eal/linuxapp/eal/eal_interrupts.c > > @@ -785,7 +785,7 @@ struct rte_intr_source { > > * @return > > * never return; > > */ > > -static __attribute__((noreturn)) void * > > +static void * > > eal_intr_thread_main(__rte_unused void *arg) > > { > > struct epoll_event ev; > > @@ -803,8 +803,11 @@ static __attribute__((noreturn)) void * > > > > /* create epoll fd */ > > int pfd = epoll_create(1); > > - if (pfd < 0) > > - rte_panic("Cannot create epoll instance\n"); > > + if (pfd < 0) { > > + RTE_LOG(CRIT, EAL, "%s(): Cannot create epoll > instance\n", > > + __func__); > > + return NULL; > > + } > > > > pipe_event.data.fd = intr_pipe.readfd; > > /** > > @@ -813,8 +816,11 @@ static __attribute__((noreturn)) void * > > */ > > if (epoll_ctl(pfd, EPOLL_CTL_ADD, intr_pipe.readfd, > > &pipe_event) < 0) { > > - rte_panic("Error adding fd to %d epoll_ctl, %s\n", > > + RTE_LOG(CRIT, EAL, "%s(): Error adding fd to %d " > > + "epoll_ctl, %s\n", > > + __func__, > > intr_pipe.readfd, strerror(errno)); > > + return NULL; > > } > > numfds++; > > > > @@ -831,9 +837,14 @@ static __attribute__((noreturn)) void * > > * into wait list. > > */ > > if (epoll_ctl(pfd, EPOLL_CTL_ADD, > > - src->intr_handle.fd, &ev) < 0){ > > - rte_panic("Error adding fd %d epoll_ctl, > %s\n", > > - src->intr_handle.fd, > strerror(errno)); > > + src->intr_handle.fd, &ev) < 0) { > > The alignment changed here, not sure if it was deliberate > > > + RTE_LOG(CRIT, EAL, > > + "%s(): Error adding fd %d " > > + "epoll_ctl, %s\n", > > + __func__, > > + src->intr_handle.fd, > > + strerror(errno)); > > + return NULL; > > } > > else > > numfds++; > > @@ -848,6 +859,8 @@ static __attribute__((noreturn)) void * > > */ > > close(pfd); > > } > > + > > + return NULL; > > } > > > > int > > > > -- *Arnon Warshavsky* *Qwilt | work: +972-72-2221634 | mobile: +972-50-8583058 | arnon@qwilt.com *