From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 8B37E4C93 for ; Mon, 3 Dec 2018 18:48:33 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Dec 2018 09:48:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,311,1539673200"; d="scan'208";a="115678039" Received: from txasoft-yocto.an.intel.com (HELO txasoft-yocto.an.intel.com.) ([10.123.72.192]) by FMSMGA003.fm.intel.com with ESMTP; 03 Dec 2018 09:48:32 -0800 From: Erik Gabriel Carrillo To: jerin.jacob@caviumnetworks.com Cc: dev@dpdk.org Date: Mon, 3 Dec 2018 11:48:14 -0600 Message-Id: <1543859294-24259-1-git-send-email-erik.g.carrillo@intel.com> X-Mailer: git-send-email 1.7.10 In-Reply-To: <1525469883-8342-1-git-send-email-erik.g.carrillo@intel.com> References: <1525469883-8342-1-git-send-email-erik.g.carrillo@intel.com> Subject: [dpdk-dev] [PATCH v3] app/eventdev: detect deadlock for timer event producer 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: , X-List-Received-Date: Mon, 03 Dec 2018 17:48:34 -0000 If timer events get dropped for some reason, the thread that launched producer and worker cores will never exit, because the deadlock check doesn't currently apply to the event timer adapter case. This commit fixes this. Fixes: d008f20bce23 ("app/eventdev: add event timer adapter as a producer") Signed-off-by: Erik Gabriel Carrillo Acked-by: Jerin Jacob --- v3: - Forgot to add Jerin's ack line. v2: - Add a fixline to commit message (Jerin) app/test-eventdev/test_perf_common.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/test-eventdev/test_perf_common.c b/app/test-eventdev/test_perf_common.c index 8618775..f99a6a6 100644 --- a/app/test-eventdev/test_perf_common.c +++ b/app/test-eventdev/test_perf_common.c @@ -327,7 +327,8 @@ perf_launch_lcores(struct evt_test *test, struct evt_options *opt, } if (new_cycles - dead_lock_cycles > dead_lock_sample && - opt->prod_type == EVT_PROD_TYPE_SYNT) { + (opt->prod_type == EVT_PROD_TYPE_SYNT || + opt->prod_type == EVT_PROD_TYPE_EVENT_TIMER_ADPTR)) { remaining = t->outstand_pkts - processed_pkts(t); if (dead_lock_remaining == remaining) { rte_event_dev_dump(opt->dev_id, stdout); -- 2.6.4