Re: [lng-odp] [API-NEXT PATCH v7 0/9] api: time: update local time to be monotonic
That patch serries looks ok, instead of one overrun of 32 bit counter. I can fix it just in place. Petri, agree? time.c: In function 'time_test_monotony': time.c:60:15: error: comparison is always true due to limited range of data type [-Werror=type-limits] while (count < BUSY_LOOP_CNT_LONG) { --- a/test/validation/time/time.c +++ b/test/validation/time/time.c @@ -45,7 +45,7 @@ void time_test_odp_conversion(void) void time_test_monotony(void) { - volatile unsigned long count = 0; + volatile uint64_t count = 0; odp_time_t t1, t2, t3; uint64_t ns1, ns2, ns3; Maxim. On 12/04/2015 20:51, Ivan Khoronzhuk wrote: This series is intended to modify time API to be used as monotonic wall time in order to simplify time API usage and create prerequisites for adding global time API. Since v6: - changed patch order a little to pass validation tests - fixed issue with pktio perf test - no functional changes Since v5: linux-generic: align with new wall time API - deleted _odp prefix for local functions - avoided modulo operation - used common global var for start time Since v3: - "api: time: make odp_local_time to be monotonic wall time" splitted on; "linux-generic: align with new wall time API" "test/example: use local time API as wall time" - increased BUSY_LOOP_CNT to fit in resolution and 4+ sec Since v2: - removed patch changing type of ODP_TIME_* - added new patch: test: performance: pktio: don't use direct arithmetic operations with odp_time_t - added new patch: performance: sched: use ODP time API instead of clock_gettime - combined monotonic and wall time patches - removed odp_time_local_val() and odp_time_val_to_ns() - replaced terms monotonic and wall in API desc Since v1: - corrected name of the series to be api-next - use thread local for holding start time Ivan Khoronzhuk (9): validation: time: don't assign int directly to odp_time_t test: performance: pktio: don't use direct arithmetic operations with odp_time_t linux-generic: schedule: use schedule time in ns linux-generic: odp_time: don't use cpu cycle API to get time performance: sched: use ODP time API instead of clock_gettime api: time: make odp_local_time to be monotonic wall time validation: time: align tests with current time API linux-generic: align with new wall time API test/example: use local time API as wall time example/generator/odp_generator.c | 10 +- include/odp/api/time.h | 3 +- platform/linux-generic/Makefile.am | 1 - .../linux-generic/include/odp/plat/time_types.h| 6 +- platform/linux-generic/include/odp_cpu_internal.h | 29 --- platform/linux-generic/include/odp_internal.h | 2 + platform/linux-generic/odp_cpu.c | 6 +- platform/linux-generic/odp_init.c | 4 + platform/linux-generic/odp_schedule.c | 18 +- platform/linux-generic/odp_time.c | 112 +++--- test/performance/odp_pktio_perf.c | 24 +-- test/performance/odp_scheduling.c | 37 +--- test/validation/pktio/pktio.c | 21 +- test/validation/time/time.c| 228 ++--- test/validation/time/time.h| 7 +- 15 files changed, 346 insertions(+), 162 deletions(-) delete mode 100644 platform/linux-generic/include/odp_cpu_internal.h ___ lng-odp mailing list lng-odp@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lng-odp
Re: [lng-odp] [API-NEXT PATCH v7 0/9] api: time: update local time to be monotonic
OK, it's the 32 bit build again (which was not tested). I have had trouble lately to install 32 bit libraries of OpenSSL into Ubuntu, which makes it hard to test linux-generic with -m32. So currently, I'm not testing 32 bit build either. -Petri > -Original Message- > From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of EXT > Savolainen, Petri (Nokia - FI/Espoo) > Sent: Tuesday, December 08, 2015 1:02 PM > To: EXT Maxim Uvarov; lng-odp@lists.linaro.org > Subject: Re: [lng-odp] [API-NEXT PATCH v7 0/9] api: time: update local > time to be monotonic > > Agree, it's a bug and the test would spin forever. Is this a build error? > Ivan should have built the code successfully before sending... or do we > have different warning levels enabled on different make targets? > > -Petri > > > -Original Message- > > From: EXT Maxim Uvarov [mailto:maxim.uva...@linaro.org] > > Sent: Tuesday, December 08, 2015 12:41 PM > > To: lng-odp@lists.linaro.org; Petri Savolainen > > Subject: Re: [lng-odp] [API-NEXT PATCH v7 0/9] api: time: update local > > time to be monotonic > > > > That patch serries looks ok, instead of one overrun of 32 bit counter. > > I can fix it just in place. > > > > Petri, agree? > > > > time.c: In function 'time_test_monotony': > > time.c:60:15: error: comparison is always true due to limited range of > > data type [-Werror=type-limits] > >while (count < BUSY_LOOP_CNT_LONG) { > > > > --- a/test/validation/time/time.c > > +++ b/test/validation/time/time.c > > @@ -45,7 +45,7 @@ void time_test_odp_conversion(void) > > > > void time_test_monotony(void) > > { > > - volatile unsigned long count = 0; > > + volatile uint64_t count = 0; > > odp_time_t t1, t2, t3; > > uint64_t ns1, ns2, ns3; > > > > Maxim. > > > > > > On 12/04/2015 20:51, Ivan Khoronzhuk wrote: > > > This series is intended to modify time API to be used as monotonic > wall > > > time in order to simplify time API usage and create prerequisites for > > > adding global time API. > > > > > > Since v6: > > > - changed patch order a little to pass validation tests > > > - fixed issue with pktio perf test > > > - no functional changes > > > > > > Since v5: > > >linux-generic: align with new wall time API > > > - deleted _odp prefix for local functions > > > - avoided modulo operation > > > - used common global var for start time > > > > > > Since v3: > > > - "api: time: make odp_local_time to be monotonic wall time" > > >splitted on; > > >"linux-generic: align with new wall time API" > > >"test/example: use local time API as wall time" > > > - increased BUSY_LOOP_CNT to fit in resolution and 4+ sec > > > > > > Since v2: > > > - removed patch changing type of ODP_TIME_* > > > - added new patch: > > >test: performance: pktio: don't use direct arithmetic operations > with > > > odp_time_t > > > - added new patch: > > >performance: sched: use ODP time API instead of clock_gettime > > > - combined monotonic and wall time patches > > > - removed odp_time_local_val() and odp_time_val_to_ns() > > > - replaced terms monotonic and wall in API desc > > > > > > Since v1: > > > - corrected name of the series to be api-next > > > - use thread local for holding start time > > > > > > Ivan Khoronzhuk (9): > > >validation: time: don't assign int directly to odp_time_t > > >test: performance: pktio: don't use direct arithmetic operations > with > > > odp_time_t > > >linux-generic: schedule: use schedule time in ns > > >linux-generic: odp_time: don't use cpu cycle API to get time > > >performance: sched: use ODP time API instead of clock_gettime > > >api: time: make odp_local_time to be monotonic wall time > > >validation: time: align tests with current time API > > >linux-generic: align with new wall time API > > >test/example: use local time API as wall time > > > > > > example/generator/odp_generator.c | 10 +- > > > include/odp/api/time.h | 3 +- > > > platform/linux-generic/Makefile.am | 1 - > > > .../linux-generic/include/odp/plat/time_types.h| 6 +- > > > platform/linux-generic/include/odp_cpu_i
Re: [lng-odp] [API-NEXT PATCH v7 0/9] api: time: update local time to be monotonic
Merged, Maxim. On 12/08/2015 14:11, Savolainen, Petri (Nokia - FI/Espoo) wrote: OK, it's the 32 bit build again (which was not tested). I have had trouble lately to install 32 bit libraries of OpenSSL into Ubuntu, which makes it hard to test linux-generic with -m32. So currently, I'm not testing 32 bit build either. -Petri Yes it's test for 32 bit. I use odp-check scripts. But I don't remember if I installed something or it did it automatically. -Original Message- From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of EXT Savolainen, Petri (Nokia - FI/Espoo) Sent: Tuesday, December 08, 2015 1:02 PM To: EXT Maxim Uvarov; lng-odp@lists.linaro.org Subject: Re: [lng-odp] [API-NEXT PATCH v7 0/9] api: time: update local time to be monotonic Agree, it's a bug and the test would spin forever. Is this a build error? Ivan should have built the code successfully before sending... or do we have different warning levels enabled on different make targets? -Petri -Original Message- From: EXT Maxim Uvarov [mailto:maxim.uva...@linaro.org] Sent: Tuesday, December 08, 2015 12:41 PM To: lng-odp@lists.linaro.org; Petri Savolainen Subject: Re: [lng-odp] [API-NEXT PATCH v7 0/9] api: time: update local time to be monotonic That patch serries looks ok, instead of one overrun of 32 bit counter. I can fix it just in place. Petri, agree? time.c: In function 'time_test_monotony': time.c:60:15: error: comparison is always true due to limited range of data type [-Werror=type-limits] while (count < BUSY_LOOP_CNT_LONG) { --- a/test/validation/time/time.c +++ b/test/validation/time/time.c @@ -45,7 +45,7 @@ void time_test_odp_conversion(void) void time_test_monotony(void) { - volatile unsigned long count = 0; + volatile uint64_t count = 0; odp_time_t t1, t2, t3; uint64_t ns1, ns2, ns3; Maxim. On 12/04/2015 20:51, Ivan Khoronzhuk wrote: This series is intended to modify time API to be used as monotonic wall time in order to simplify time API usage and create prerequisites for adding global time API. Since v6: - changed patch order a little to pass validation tests - fixed issue with pktio perf test - no functional changes Since v5: linux-generic: align with new wall time API - deleted _odp prefix for local functions - avoided modulo operation - used common global var for start time Since v3: - "api: time: make odp_local_time to be monotonic wall time" splitted on; "linux-generic: align with new wall time API" "test/example: use local time API as wall time" - increased BUSY_LOOP_CNT to fit in resolution and 4+ sec Since v2: - removed patch changing type of ODP_TIME_* - added new patch: test: performance: pktio: don't use direct arithmetic operations with odp_time_t - added new patch: performance: sched: use ODP time API instead of clock_gettime - combined monotonic and wall time patches - removed odp_time_local_val() and odp_time_val_to_ns() - replaced terms monotonic and wall in API desc Since v1: - corrected name of the series to be api-next - use thread local for holding start time Ivan Khoronzhuk (9): validation: time: don't assign int directly to odp_time_t test: performance: pktio: don't use direct arithmetic operations with odp_time_t linux-generic: schedule: use schedule time in ns linux-generic: odp_time: don't use cpu cycle API to get time performance: sched: use ODP time API instead of clock_gettime api: time: make odp_local_time to be monotonic wall time validation: time: align tests with current time API linux-generic: align with new wall time API test/example: use local time API as wall time example/generator/odp_generator.c | 10 +- include/odp/api/time.h | 3 +- platform/linux-generic/Makefile.am | 1 - .../linux-generic/include/odp/plat/time_types.h| 6 +- platform/linux-generic/include/odp_cpu_internal.h | 29 --- platform/linux-generic/include/odp_internal.h | 2 + platform/linux-generic/odp_cpu.c | 6 +- platform/linux-generic/odp_init.c | 4 + platform/linux-generic/odp_schedule.c | 18 +- platform/linux-generic/odp_time.c | 112 +++--- test/performance/odp_pktio_perf.c | 24 +-- test/performance/odp_scheduling.c | 37 +--- test/validation/pktio/pktio.c | 21 +- test/validation/time/time.c| 228 ++--- test/validation/time/time.h| 7 +- 15 files changed, 346 insertions(+), 162 deletions(-) delete mode 100644 platform/linux-generic/include/odp_cpu_internal.h ___ lng-odp mailing list lng-odp@lists.linaro.org https://lists.li
Re: [lng-odp] [API-NEXT PATCH v7 0/9] api: time: update local time to be monotonic
Agree, it's a bug and the test would spin forever. Is this a build error? Ivan should have built the code successfully before sending... or do we have different warning levels enabled on different make targets? -Petri > -Original Message- > From: EXT Maxim Uvarov [mailto:maxim.uva...@linaro.org] > Sent: Tuesday, December 08, 2015 12:41 PM > To: lng-odp@lists.linaro.org; Petri Savolainen > Subject: Re: [lng-odp] [API-NEXT PATCH v7 0/9] api: time: update local > time to be monotonic > > That patch serries looks ok, instead of one overrun of 32 bit counter. > I can fix it just in place. > > Petri, agree? > > time.c: In function 'time_test_monotony': > time.c:60:15: error: comparison is always true due to limited range of > data type [-Werror=type-limits] >while (count < BUSY_LOOP_CNT_LONG) { > > --- a/test/validation/time/time.c > +++ b/test/validation/time/time.c > @@ -45,7 +45,7 @@ void time_test_odp_conversion(void) > > void time_test_monotony(void) > { > - volatile unsigned long count = 0; > + volatile uint64_t count = 0; > odp_time_t t1, t2, t3; > uint64_t ns1, ns2, ns3; > > Maxim. > > > On 12/04/2015 20:51, Ivan Khoronzhuk wrote: > > This series is intended to modify time API to be used as monotonic wall > > time in order to simplify time API usage and create prerequisites for > > adding global time API. > > > > Since v6: > > - changed patch order a little to pass validation tests > > - fixed issue with pktio perf test > > - no functional changes > > > > Since v5: > >linux-generic: align with new wall time API > > - deleted _odp prefix for local functions > > - avoided modulo operation > > - used common global var for start time > > > > Since v3: > > - "api: time: make odp_local_time to be monotonic wall time" > >splitted on; > >"linux-generic: align with new wall time API" > >"test/example: use local time API as wall time" > > - increased BUSY_LOOP_CNT to fit in resolution and 4+ sec > > > > Since v2: > > - removed patch changing type of ODP_TIME_* > > - added new patch: > >test: performance: pktio: don't use direct arithmetic operations with > > odp_time_t > > - added new patch: > >performance: sched: use ODP time API instead of clock_gettime > > - combined monotonic and wall time patches > > - removed odp_time_local_val() and odp_time_val_to_ns() > > - replaced terms monotonic and wall in API desc > > > > Since v1: > > - corrected name of the series to be api-next > > - use thread local for holding start time > > > > Ivan Khoronzhuk (9): > >validation: time: don't assign int directly to odp_time_t > >test: performance: pktio: don't use direct arithmetic operations with > > odp_time_t > >linux-generic: schedule: use schedule time in ns > >linux-generic: odp_time: don't use cpu cycle API to get time > >performance: sched: use ODP time API instead of clock_gettime > >api: time: make odp_local_time to be monotonic wall time > >validation: time: align tests with current time API > >linux-generic: align with new wall time API > >test/example: use local time API as wall time > > > > example/generator/odp_generator.c | 10 +- > > include/odp/api/time.h | 3 +- > > platform/linux-generic/Makefile.am | 1 - > > .../linux-generic/include/odp/plat/time_types.h| 6 +- > > platform/linux-generic/include/odp_cpu_internal.h | 29 --- > > platform/linux-generic/include/odp_internal.h | 2 + > > platform/linux-generic/odp_cpu.c | 6 +- > > platform/linux-generic/odp_init.c | 4 + > > platform/linux-generic/odp_schedule.c | 18 +- > > platform/linux-generic/odp_time.c | 112 +++--- > > test/performance/odp_pktio_perf.c | 24 +-- > > test/performance/odp_scheduling.c | 37 +--- > > test/validation/pktio/pktio.c | 21 +- > > test/validation/time/time.c| 228 > ++--- > > test/validation/time/time.h| 7 +- > > 15 files changed, 346 insertions(+), 162 deletions(-) > > delete mode 100644 platform/linux-generic/include/odp_cpu_internal.h > > ___ lng-odp mailing list lng-odp@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lng-odp
[lng-odp] [API-NEXT PATCH v7 0/9] api: time: update local time to be monotonic
This series is intended to modify time API to be used as monotonic wall time in order to simplify time API usage and create prerequisites for adding global time API. Since v6: - changed patch order a little to pass validation tests - fixed issue with pktio perf test - no functional changes Since v5: linux-generic: align with new wall time API - deleted _odp prefix for local functions - avoided modulo operation - used common global var for start time Since v3: - "api: time: make odp_local_time to be monotonic wall time" splitted on; "linux-generic: align with new wall time API" "test/example: use local time API as wall time" - increased BUSY_LOOP_CNT to fit in resolution and 4+ sec Since v2: - removed patch changing type of ODP_TIME_* - added new patch: test: performance: pktio: don't use direct arithmetic operations with odp_time_t - added new patch: performance: sched: use ODP time API instead of clock_gettime - combined monotonic and wall time patches - removed odp_time_local_val() and odp_time_val_to_ns() - replaced terms monotonic and wall in API desc Since v1: - corrected name of the series to be api-next - use thread local for holding start time Ivan Khoronzhuk (9): validation: time: don't assign int directly to odp_time_t test: performance: pktio: don't use direct arithmetic operations with odp_time_t linux-generic: schedule: use schedule time in ns linux-generic: odp_time: don't use cpu cycle API to get time performance: sched: use ODP time API instead of clock_gettime api: time: make odp_local_time to be monotonic wall time validation: time: align tests with current time API linux-generic: align with new wall time API test/example: use local time API as wall time example/generator/odp_generator.c | 10 +- include/odp/api/time.h | 3 +- platform/linux-generic/Makefile.am | 1 - .../linux-generic/include/odp/plat/time_types.h| 6 +- platform/linux-generic/include/odp_cpu_internal.h | 29 --- platform/linux-generic/include/odp_internal.h | 2 + platform/linux-generic/odp_cpu.c | 6 +- platform/linux-generic/odp_init.c | 4 + platform/linux-generic/odp_schedule.c | 18 +- platform/linux-generic/odp_time.c | 112 +++--- test/performance/odp_pktio_perf.c | 24 +-- test/performance/odp_scheduling.c | 37 +--- test/validation/pktio/pktio.c | 21 +- test/validation/time/time.c| 228 ++--- test/validation/time/time.h| 7 +- 15 files changed, 346 insertions(+), 162 deletions(-) delete mode 100644 platform/linux-generic/include/odp_cpu_internal.h -- 1.9.1 ___ lng-odp mailing list lng-odp@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lng-odp