From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [dpdk-stable] [PATCH] eal/mp: remove rte_panic and profanity Date: Fri, 26 Oct 2018 22:41:59 +0200 Message-ID: <4092104.WkhJc3HfzQ@xps> References: <20180725182019.31518-4-stephen@networkplumber.org> <7632620e2d7fbf772965b2d15b8187df6648a375.1540565496.git.anatoly.burakov@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: stable@dpdk.org, dev@dpdk.org, stephen@networkplumber.org, Stephen Hemminger To: Anatoly Burakov Return-path: In-Reply-To: <7632620e2d7fbf772965b2d15b8187df6648a375.1540565496.git.anatoly.burakov@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 26/10/2018 16:55, Anatoly Burakov: > --- a/lib/librte_eal/common/eal_common_proc.c > +++ b/lib/librte_eal/common/eal_common_proc.c > + /* > + * set the alarm before sending message. there are two possible error > + * scenarios to consider here: > + * > + * - if the alarm set fails, we free the memory right there > + * - if the alarm set succeeds but sending message fails, then the alarm > + * will trigger and clean up the memory > + * > + * Even if the alarm triggers too early (i.e. immediately), we're still > + * holding the lock to pending requests queue, so the interrupt thread > + * will just spin until we release the lock, and either release the > + * memory, or doesn't find any pending requests in the queue because we > + * never added any due to send message failure. > + */ > + if (rte_eal_alarm_set(ts->tv_sec * 1000000 + ts->tv_nsec / 1000, > + async_reply_handle, pending_req) < 0) { > + RTE_LOG(ERR, EAL, "Fail to set alarm for request %s:%s\n", > + dst, req->name); > + goto fail; > + } ret variable is not set and not initialized.