test/event: fix timeout accuracy

Message ID 20210306202659.9091-1-pbhagavatula@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: Jerin Jacob
Headers
Series test/event: fix timeout accuracy |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/intel-Testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/travis-robot success travis build: passed
ci/github-robot success github build: passed

Commit Message

Pavan Nikhilesh Bhagavatula March 6, 2021, 8:26 p.m. UTC
  From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Round timeout ticks when converting from nanoseconds, this prevents
loss of accuracy and deviation from requested timeout value.

Fixes: d1f3385d0076 ("test: add event timer adapter auto-test")
Cc: stable@dpdk.org

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 app/test/test_event_timer_adapter.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
  

Comments

Carrillo, Erik G March 8, 2021, 5:20 p.m. UTC | #1
> -----Original Message-----
> From: pbhagavatula@marvell.com <pbhagavatula@marvell.com>
> Sent: Saturday, March 6, 2021 2:27 PM
> To: jerinj@marvell.com; Carrillo, Erik G <erik.g.carrillo@intel.com>
> Cc: dev@dpdk.org; Pavan Nikhilesh <pbhagavatula@marvell.com>;
> stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] test/event: fix timeout accuracy
> 
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> Round timeout ticks when converting from nanoseconds, this prevents loss
> of accuracy and deviation from requested timeout value.
> 
> Fixes: d1f3385d0076 ("test: add event timer adapter auto-test")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>

Thanks, Pavan:

Acked-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
  
Jerin Jacob March 8, 2021, 6:09 p.m. UTC | #2
On Mon, Mar 8, 2021 at 10:50 PM Carrillo, Erik G
<erik.g.carrillo@intel.com> wrote:
>
> > -----Original Message-----
> > From: pbhagavatula@marvell.com <pbhagavatula@marvell.com>
> > Sent: Saturday, March 6, 2021 2:27 PM
> > To: jerinj@marvell.com; Carrillo, Erik G <erik.g.carrillo@intel.com>
> > Cc: dev@dpdk.org; Pavan Nikhilesh <pbhagavatula@marvell.com>;
> > stable@dpdk.org
> > Subject: [dpdk-dev] [PATCH] test/event: fix timeout accuracy
> >
> > From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> >
> > Round timeout ticks when converting from nanoseconds, this prevents loss
> > of accuracy and deviation from requested timeout value.
> >
> > Fixes: d1f3385d0076 ("test: add event timer adapter auto-test")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
> Thanks, Pavan:
>
> Acked-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>

Applied to dpdk-next-net-eventdev/for-main. Thanks
  
Pavan Nikhilesh Bhagavatula March 16, 2021, 11:46 a.m. UTC | #3
>> -----Original Message-----
>> From: pbhagavatula@marvell.com <pbhagavatula@marvell.com>
>> Sent: Saturday, March 6, 2021 2:27 PM
>> To: jerinj@marvell.com; Carrillo, Erik G <erik.g.carrillo@intel.com>
>> Cc: dev@dpdk.org; Pavan Nikhilesh <pbhagavatula@marvell.com>;
>> stable@dpdk.org
>> Subject: [dpdk-dev] [PATCH] test/event: fix timeout accuracy
>>
>> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>>
>> Round timeout ticks when converting from nanoseconds, this
>prevents loss
>> of accuracy and deviation from requested timeout value.
>>
>> Fixes: d1f3385d0076 ("test: add event timer adapter auto-test")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
>Thanks, Pavan:
>
>Acked-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>

Thanks, Gabriel,

Could you take a look at [1] too? It fixes a similar problem

[1]http://patches.dpdk.org/project/dpdk/patch/20210225120144.2591-1-pbhagavatula@marvell.com/
  

Patch

diff --git a/app/test/test_event_timer_adapter.c b/app/test/test_event_timer_adapter.c
index ad3f4dcc2..b536ddef4 100644
--- a/app/test/test_event_timer_adapter.c
+++ b/app/test/test_event_timer_adapter.c
@@ -3,6 +3,8 @@ 
  * Copyright(c) 2017-2018 Intel Corporation.
  */
 
+#include <math.h>
+
 #include <rte_atomic.h>
 #include <rte_common.h>
 #include <rte_cycles.h>
@@ -46,7 +48,7 @@  static uint64_t global_info_bkt_tck_ns;
 static volatile uint8_t arm_done;
 
 #define CALC_TICKS(tks)					\
-	((tks * global_bkt_tck_ns) / global_info_bkt_tck_ns)
+	ceil((double)(tks * global_bkt_tck_ns) / global_info_bkt_tck_ns)
 
 
 static bool using_services;