From patchwork Fri Apr 13 18:30:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnon Warshavsky X-Patchwork-Id: 38086 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id ECF711B1D9; Fri, 13 Apr 2018 20:31:20 +0200 (CEST) Received: from mta.qwilt.com (mta.qwilt.com [52.9.191.255]) by dpdk.org (Postfix) with ESMTP id 8A0BAAAA9 for ; Fri, 13 Apr 2018 20:31:17 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mta.qwilt.com (Postfix) with ESMTP id F26C980B51A; Fri, 13 Apr 2018 18:31:16 +0000 (UTC) X-Virus-Scanned: amavisd-new at qwilt.com Received: from mta.qwilt.com ([127.0.0.1]) by localhost (mta.qwilt.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Pry4YLtZnV0s; Fri, 13 Apr 2018 18:31:16 +0000 (UTC) Received: from rd01.it.qwilt.com.qwilt.com (80.179.204.39.cable.012.net.il [80.179.204.39]) by mta.qwilt.com (Postfix) with ESMTPSA id 976CC80B51C; Fri, 13 Apr 2018 18:31:14 +0000 (UTC) From: Arnon Warshavsky To: thomas@monjalon.net, anatoly.burakov@intel.com, wenzhuo.lu@intel.com, declan.doherty@intel.com, jerin.jacob@caviumnetworks.com, bruce.richardson@intel.com, ferruh.yigit@intel.com Cc: dev@dpdk.org, arnon@qwilt.com Date: Fri, 13 Apr 2018 21:30:41 +0300 Message-Id: <1523644244-17511-11-git-send-email-arnon@qwilt.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1523644244-17511-1-git-send-email-arnon@qwilt.com> References: <1523644244-17511-1-git-send-email-arnon@qwilt.com> Subject: [dpdk-dev] [PATCH v3 10/13] eal: replace rte_panic instances in interrupts thread X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 f86f22f..7b1f530 100644 --- a/lib/librte_eal/linuxapp/eal/eal_interrupts.c +++ b/lib/librte_eal/linuxapp/eal/eal_interrupts.c @@ -776,7 +776,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; @@ -794,8 +794,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; /** @@ -804,8 +807,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++; @@ -822,9 +828,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) { + RTE_LOG(CRIT, EAL, + "%s(): Error adding fd %d " + "epoll_ctl, %s\n", + __func__, + src->intr_handle.fd, + strerror(errno)); + return NULL; } else numfds++; @@ -839,6 +850,8 @@ static __attribute__((noreturn)) void * */ close(pfd); } + + return NULL; } int