Branch: refs/heads/master Home: https://github.com/Linaro/odp Commit: db8c7882c2fc8c849cebef08e505343ae1396b79 https://github.com/Linaro/odp/commit/db8c7882c2fc8c849cebef08e505343ae1396b79 Author: Petri Savolainen <petri.savolai...@linaro.org> Date: 2018-09-12 (Wed, 12 Sep 2018)
Changed paths: M platform/linux-generic/odp_queue_basic.c Log Message: ----------- linux-gen: queue: remove extra checks Remove unnecessary checks from critical sections of scheduled queue enqueue and dequeue operations. Parallelism improves when the number of instructions and (potential) cache misses decreases when holding the lock. Signed-off-by: Petri Savolainen <petri.savolai...@linaro.org> Reviewed-by: Bill Fischofer <bill.fischo...@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uva...@linaro.org> Commit: 3331e3b51dfcbfe8be5bc8c118cb8a2561294d60 https://github.com/Linaro/odp/commit/3331e3b51dfcbfe8be5bc8c118cb8a2561294d60 Author: Petri Savolainen <petri.savolai...@linaro.org> Date: 2018-09-12 (Wed, 12 Sep 2018) Changed paths: M platform/linux-generic/odp_schedule_basic.c Log Message: ----------- linux-gen: sched: clean up local data struct Move stash variables into a struct. Use only 16 bits for thread id, which is enough for 64k threads. Signed-off-by: Petri Savolainen <petri.savolai...@linaro.org> Reviewed-by: Bill Fischofer <bill.fischo...@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uva...@linaro.org> Commit: 2ba3fc5be07c77feaaffdaf7eb1bdd9f7c0f37c2 https://github.com/Linaro/odp/commit/2ba3fc5be07c77feaaffdaf7eb1bdd9f7c0f37c2 Author: Petri Savolainen <petri.savolai...@linaro.org> Date: 2018-09-12 (Wed, 12 Sep 2018) Changed paths: M platform/linux-generic/odp_schedule_basic.c Log Message: ----------- linux-gen: sched: single variable for sync context status Use single thread local variable to keep track if a synchronization context is held and the type of the context (atomic or ordered). Performance is improved as sync context status is located on single (the first) cache line of sched_local_t. Signed-off-by: Petri Savolainen <petri.savolai...@linaro.org> Reviewed-by: Bill Fischofer <bill.fischo...@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uva...@linaro.org> Commit: 47c4ecd4bfdeeca0fd507dbb4f9182b36e5829f9 https://github.com/Linaro/odp/commit/47c4ecd4bfdeeca0fd507dbb4f9182b36e5829f9 Author: Petri Savolainen <petri.savolai...@linaro.org> Date: 2018-09-12 (Wed, 12 Sep 2018) Changed paths: M platform/linux-generic/include/odp_queue_basic_internal.h M platform/linux-generic/odp_queue_basic.c M platform/linux-generic/odp_schedule_basic.c M platform/linux-generic/odp_schedule_iquery.c M platform/linux-generic/odp_schedule_sp.c Log Message: ----------- linux-gen: sched: remove queue_destroy_finalize callback Scheduled queue dequeue function calls directly the scheduler queue destroy callback. Sched_queue_deq() usage is simpler when the extra round of callbacks is removed. Signed-off-by: Petri Savolainen <petri.savolai...@linaro.org> Reviewed-by: Bill Fischofer <bill.fischo...@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uva...@linaro.org> Commit: 8ae6e015e8d73092b5c6b728fa39ff8190b88015 https://github.com/Linaro/odp/commit/8ae6e015e8d73092b5c6b728fa39ff8190b88015 Author: Petri Savolainen <petri.savolai...@linaro.org> Date: 2018-09-12 (Wed, 12 Sep 2018) Changed paths: M platform/linux-generic/odp_schedule_basic.c Log Message: ----------- linux-gen: sched: stash ring pointer Save ring pointer into stash to avoid table lookups when releasing the atomic context. Signed-off-by: Petri Savolainen <petri.savolai...@linaro.org> Reviewed-by: Bill Fischofer <bill.fischo...@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uva...@linaro.org> Commit: 42a46399f064212fc7a16f088779bee744d1241c https://github.com/Linaro/odp/commit/42a46399f064212fc7a16f088779bee744d1241c Author: Petri Savolainen <petri.savolai...@linaro.org> Date: 2018-09-12 (Wed, 12 Sep 2018) Changed paths: M platform/linux-generic/include/odp_ring_internal.h M platform/linux-generic/odp_schedule_basic.c M platform/linux-generic/odp_schedule_iquery.c M platform/linux-generic/odp_schedule_sp.c Log Message: ----------- linux-gen: ring: change ring_deq return value Return number of data values dequeued (0 or 1) instead of the data value. This improves error tolerance as there's no data value reserved to indicate empty ring. Also CPU may speculate further before the actual data value is actually needed. Signed-off-by: Petri Savolainen <petri.savolai...@linaro.org> Reviewed-by: Bill Fischofer <bill.fischo...@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uva...@linaro.org> Compare: https://github.com/Linaro/odp/compare/1adfa2e17b27...42a46399f064 **NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/ Functionality will be removed from GitHub.com on January 31st, 2019.