v4 is changed to use PRIu64.  It also uses the same sort of conversion
casting that is used in strongtypes.h for coercing indexes to pointers and
vice versa, so it should be clean.

On Tue, Nov 10, 2015 at 8:57 AM, Maxim Uvarov <maxim.uva...@linaro.org>
wrote:

> On 11/10/2015 17:49, Bill Fischofer wrote:
>
>> Thanks, Maxim.  I sent a v4 that should correct those issues.  If it
>> doesn't, I'd take parts 1-7 that fix the actual bugs and I'll tweak the
>> enhanced test case further separately.
>>
>>
> Bill, I already merged 1-7.
>
> In test you need to use PRIu64 instead of %lu.
>
> configure: WARNING: using cross tools not prefixed with host triplet
> scheduler.c: In function 'chaos_thread':
>
> scheduler.c:428:19: error: cast from pointer to integer of different size
> [-Werror=pointer-to-int-cast]
>            chaos_q[(uint64_t)odp_queue_context(from)].name,
>                    ^
> scheduler.c:430:11: error: format '%lu' expects argument of type 'long
> unsigned int', but argument 3 has type 'uint64_t' [-Werror=format=]
>            chaos_q[cbuf->seqno % CHAOS_NUM_QUEUES].name);
>            ^
> scheduler.c:430:11: error: format '%lu' expects argument of type 'long
> unsigned int', but argument 4 has type 'uint64_t' [-Werror=format=]
> scheduler.c:457:19: error: cast from pointer to integer of different size
> [-Werror=pointer-to-int-cast]
>            chaos_q[(uint64_t)odp_queue_context(from)].name);
>                    ^
> scheduler.c:457:11: error: format '%lu' expects argument of type 'long
> unsigned int', but argument 3 has type 'uint64_t' [-Werror=format=]
>            chaos_q[(uint64_t)odp_queue_context(from)].name);
>            ^
> scheduler.c:457:11: error: format '%lu' expects argument of type 'long
> unsigned int', but argument 4 has type 'uint64_t' [-Werror=format=]
> scheduler.c: In function 'scheduler_test_chaos':
> scheduler.c:521:9: error: cast to pointer from integer of different size
> [-Werror=int-to-pointer-cast]
>          (void *)(uint64_t)i);
>          ^
> scheduler.c:557:19: error: cast from pointer to integer of different size
> [-Werror=pointer-to-int-cast]
>            chaos_q[(uint64_t)odp_queue_context(from)].name);
>                    ^
> scheduler.c:557:11: error: format '%lu' expects argument of type 'long
> unsigned int', but argument 2 has type 'uint64_t' [-Werror=format=]
>            chaos_q[(uint64_t)odp_queue_context(from)].name);
>            ^
> scheduler.c:557:11: error: format '%lu' expects argument of type 'long
> unsigned int', but argument 3 has type 'uint64_t' [-Werror=format=]
>
>
>
>
>
>>
>> On Tue, Nov 10, 2015 at 1:01 AM, Maxim Uvarov <maxim.uva...@linaro.org
>> <mailto:maxim.uva...@linaro.org>> wrote:
>>
>>     On 11/10/2015 07:20, Bill Fischofer wrote:
>>
>>         Changes for v3
>>         -- Resolves deadlock issue identified by Carl Wallen
>>         -- Adds a "chaos" test to the scheduler CUnit suite to verify
>>         the above
>>
>>         Changes for v2
>>         -- Remove unused routine get_sched_sync() as part of part 1 of
>>         of this series
>>
>>         This series cleans up the implementation of ordered queues and
>>         fixes
>>         Bug https://bugs.linaro.org/show_bug.cgi?id=1879
>>
>>
>>         Bill Fischofer (8):
>>            linux-generic: schedule: move ordered lock routines to
>>         odp_schedule.c
>>            linux-generic: queue: add utility functions for restructure
>>            linux-generic: queue: add ordered_queue_enq() routine - part 1
>>            linux-generic: queue: add ordered_queue_enq() routine - part 2
>>            linux-generic: queue: streamline reorder_deq() routine
>>            linux-generic: queue: streamline and correct
>>         release_order() routine
>>            linux-generic: schedule: allow order to be ignored for
>>         internal use
>>            validation: schedule: add chaos test
>>
>>           .../linux-generic/include/odp_queue_internal.h     | 67 ++++-
>>           .../linux-generic/include/odp_schedule_internal.h  |  8 +-
>>           platform/linux-generic/odp_queue.c                 | 322
>>         +++++++++++----------
>>           platform/linux-generic/odp_schedule.c              | 62 +++-
>>           test/validation/scheduler/scheduler.c              | 192
>>         ++++++++++++
>>           test/validation/scheduler/scheduler.h              |  1 +
>>           6 files changed, 472 insertions(+), 180 deletions(-)
>>
>>
>>     void *odp_queue_context(odp_queue_t handle)
>>     {
>>         queue_entry_t *queue;
>>         queue = queue_to_qentry(handle);
>>         return queue->s.param.context;
>>     }
>>
>>     chaos_q[(uint64_t)odp_queue_context(from)].name
>>
>>     then:
>>
>>     +       int i, rc;
>>
>>
>>     +               rc = odp_queue_context_set(globals->chaos_q[i].handle,
>>     +                                          (void *)(uint64_t)i);
>>
>>     Which might fail on 32 bits.
>>     I'm ok to merge first 7 patches (i.e. patches without test case).
>>
>>     errors:
>>
>>     scheduler.c:428:19: error: cast from pointer to integer of
>>     different size [-Werror=pointer-to-int-cast]
>>                chaos_q[(uint64_t)odp_queue_context(from)].name,
>>                        ^
>>     scheduler.c:430:11: error: format '%lu' expects argument of type
>>     'long unsigned int', but argument 3 has type 'uint64_t'
>>     [-Werror=format=]
>>                chaos_q[cbuf->seqno % CHAOS_NUM_QUEUES].name);
>>                ^
>>     scheduler.c:430:11: error: format '%lu' expects argument of type
>>     'long unsigned int', but argument 4 has type 'uint64_t'
>>     [-Werror=format=]
>>     scheduler.c:457:19: error: cast from pointer to integer of
>>     different size [-Werror=pointer-to-int-cast]
>>                chaos_q[(uint64_t)odp_queue_context(from)].name);
>>                        ^
>>     scheduler.c:457:11: error: format '%lu' expects argument of type
>>     'long unsigned int', but argument 3 has type 'uint64_t'
>>     [-Werror=format=]
>>                chaos_q[(uint64_t)odp_queue_context(from)].name);
>>                ^
>>     scheduler.c:457:11: error: format '%lu' expects argument of type
>>     'long unsigned int', but argument 4 has type 'uint64_t'
>>     [-Werror=format=]
>>     scheduler.c: In function 'scheduler_test_chaos':
>>     scheduler.c:521:9: error: cast to pointer from integer of
>>     different size [-Werror=int-to-pointer-cast]
>>              (void *)(uint64_t)i);
>>              ^
>>     scheduler.c:557:19: error: cast from pointer to integer of
>>     different size [-Werror=pointer-to-int-cast]
>>                chaos_q[(uint64_t)odp_queue_context(from)].name);
>>                        ^
>>     scheduler.c:557:11: error: format '%lu' expects argument of type
>>     'long unsigned int', but argument 2 has type 'uint64_t'
>>     [-Werror=format=]
>>                chaos_q[(uint64_t)odp_queue_context(from)].name);
>>                ^
>>     scheduler.c:557:11: error: format '%lu' expects argument of type
>>     'long unsigned int', but argument 3 has type 'uint64_t'
>>     [-Werror=format=]
>>
>>
>>     _______________________________________________
>>     lng-odp mailing list
>>     lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>
>>     https://lists.linaro.org/mailman/listinfo/lng-odp
>>
>>
>>
>
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to