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.
On Tue, Nov 10, 2015 at 1:01 AM, Maxim Uvarov <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 > 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