[1/1] app/eventdev: detect deadlock for timer event producer

Message ID 1543519131-18910-1-git-send-email-erik.g.carrillo@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Jerin Jacob
Headers
Series [1/1] app/eventdev: detect deadlock for timer event producer |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS
ci/checkpatch success coding style OK

Commit Message

Carrillo, Erik G Nov. 29, 2018, 7:18 p.m. UTC
  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.

Signed-off-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
---
 app/test-eventdev/test_perf_common.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Comments

Jerin Jacob Dec. 1, 2018, 3:12 p.m. UTC | #1
-----Original Message-----
> Date: Thu, 29 Nov 2018 13:18:51 -0600
> From: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
> To: pbhagavatula@caviumnetworks.com
> CC: jerin.jacob@caviumnetworks.com, dev@dpdk.org
> Subject: [PATCH 1/1] app/eventdev: detect deadlock for timer event producer
> X-Mailer: git-send-email 1.7.10
> 
> 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.

Please add Fixes:

With above changes,
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>

> 
> Signed-off-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
> ---



>  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
>
  

Patch

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);