https://publishing-linaro-org.s3.amazonaws.com/snapshots/components/lng/odp/odp-api-check/master/docker-jessie-arm64/arm64/netmap/1274/log/time.log?Signature=rk/ufStG++aSqlvjTWXkBejrFjE=&Expires=1498483645&AWSAccessKeyId=AKIAIJR2J6C42QCU7ITA
On 26 June 2017 at 20:37, Maxim Uvarov <maxim.uva...@linaro.org> wrote: > On 06/26/17 12:03, Yi He wrote: > > Hi, Maxim and team, for this patch series, I reviewed and tested on > > x86-64 platform with doxygen, check and distcheck matrix (gcc/clang x > > default/scalable scheduler), please see if this is good to be merged. > > > > Reviewed-and-tested-by: Yi He <yi...@linaro.org <mailto:yi...@linaro.org > >> > > > > interesting. Clang should fail ipfrag compile for arm64: > https://ci.linaro.org/view/odp-ci/job/odp-api-check/ > > did you check with odp-check scripts? > > > > > > > > On 24 June 2017 at 20:49, Honnappa Nagarahalli > > <honnappa.nagaraha...@linaro.org > > <mailto:honnappa.nagaraha...@linaro.org>> wrote: > > > > Hi Maxim, > > This patch fixes the distcheck issues you saw in travis CI. Bill > > is on vacation, I am not sure if anyone would download this and test. > > The previous patch sets have been tested to a good extent from Bill. > > Can you merge it without his test this time? > > > > Thank you, > > Honnappa > > > > On 23 June 2017 at 16:04, Brian Brooks <brian.bro...@arm.com > > <mailto:brian.bro...@arm.com>> wrote: > > > This work derives from Ola Liljedahl's prototype [1] which > > introduced a > > > scalable scheduler design based on primarily lock-free algorithms > and > > > data structures designed to decrease contention. A thread searches > > > through a data structure containing only queues that are both > > non-empty > > > and allowed to be scheduled to that thread. Strict priority > > scheduling is > > > respected, and (W)RR scheduling may be used within queues of the > > same priority. > > > Lastly, pre-scheduling or stashing is not employed since it is > > optional > > > functionality that can be implemented in the application. > > > > > > In addition to scalable ring buffers, the algorithm also uses > > unbounded > > > concurrent queues. LL/SC and CAS variants exist in cases where > > absense of > > > ABA problem cannot be proved, and also in cases where the > > compiler's atomic > > > built-ins may not be lowered to the desired instruction(s). > > Finally, a version > > > of the algorithm that uses locks is also provided. > > > > > > Use --enable-schedule-scalable to conditionally compile this > scheduler > > > into the library. > > > > > > [1] > > https://lists.linaro.org/pipermail/lng-odp/2016- > September/025682.html <https://lists.linaro.org/pipermail/lng-odp/2016- > September/025682.html> > > > > > > On checkpatch.pl <http://checkpatch.pl>: > > > - [2/6] and [5/6] have checkpatch.pl <http://checkpatch.pl> > > issues that are superfluous > > > > > > v10: > > > - Rebase against fixes for conditional compilation of arch sources > > > - Add Linaro copyright > > > - Support legacy compilers that do not support ARM ACLE > > > - Remove inclusion of odp_schedule_config.h > > > - Revert driver shm block change > > > - Use ordered lock count #define > > > > > > v9: > > > - Include patch to enable scalable scheduler in Travis CI > > > - Fix 'make distcheck' > > > > > > v8: > > > - Reword commit messages > > > > > > v7: > > > - Rebase against new modular queue interface > > > - Duplicate arch files under mips64 and powerpc > > > - Fix sched->order_lock() > > > - Loop until all deferred events have been enqueued > > > - Implement ord_enq_multi() > > > - Fix ordered_lock/unlock > > > - Revert stylistic changes > > > - Add default xfactor > > > - Remove changes to odp_sched_latency > > > - Remove ULL suffix to alleviate Clang build > > > > > > v6: > > > - Move conversions into scalable scheduler to alleviate #ifdefs > > > - Remove unnecessary prefetch > > > - Fix ARMv8 build > > > > > > v5: > > > - Allocate cache aligned memory using shm pool APIs > > > - Move more code to scalable scheduler specific files > > > - Remove CONFIG_SPLIT_READWRITE > > > - Fix 'make distcheck' issue > > > > > > v4: > > > - Fix a couple more checkpatch.pl <http://checkpatch.pl> issues > > > > > > v3: > > > - Only conditionally compile scalable scheduler and queue > > > - Move some code to arch/ dir > > > - Use a single shm block for queues instead of block-per-queue > > > - De-interleave odp_llqueue.h > > > - Use compiler macros to determine ATOM_BITSET_SIZE > > > - Incorporated queue size changes > > > - Dropped 'ODP_' prefix on config and moved to other files > > > - Dropped a few patches that were send independently to the list > > > > > > v2: > > > - Move ARMv8 issues and other fixes into separate patches > > > - Abstract away some #ifdefs > > > - Fix some checkpatch.pl <http://checkpatch.pl> warnings > > > > > > Brian Brooks (5): > > > test: odp_pktio_ordered: add queue size > > > linux-gen: sched scalable: add arch files > > > linux-gen: sched scalable: add a bitset > > > linux-gen: sched scalable: add a concurrent queue > > > linux-gen: sched scalable: add scalable scheduler > > > > > > Honnappa Nagarahalli (1): > > > travis: add scalable scheduler in CI > > > > > > .travis.yml | 1 + > > > platform/linux-generic/Makefile.am <http://e.am> > > | 26 + > > > platform/linux-generic/arch/arm/odp_atomic.h | 212 +++ > > > platform/linux-generic/arch/arm/odp_cpu.h | 71 + > > > platform/linux-generic/arch/arm/odp_cpu_idling.h | 53 + > > > platform/linux-generic/arch/arm/odp_llsc.h | 253 +++ > > > platform/linux-generic/arch/default/odp_cpu.h | 43 + > > > platform/linux-generic/arch/mips64/odp_cpu.h | 43 + > > > platform/linux-generic/arch/powerpc/odp_cpu.h | 43 + > > > platform/linux-generic/arch/x86/odp_cpu.h | 43 + > > > .../include/odp/api/plat/schedule_types.h | 4 +- > > > platform/linux-generic/include/odp_bitset.h | 212 +++ > > > .../linux-generic/include/odp_config_internal.h | 15 +- > > > platform/linux-generic/include/odp_llqueue.h | 311 +++ > > > .../include/odp_queue_scalable_internal.h | 104 + > > > platform/linux-generic/include/odp_schedule_if.h | 2 +- > > > .../linux-generic/include/odp_schedule_scalable.h | 139 ++ > > > .../include/odp_schedule_scalable_config.h | 52 + > > > .../include/odp_schedule_scalable_ordered.h | 132 ++ > > > platform/linux-generic/m4/odp_schedule.m4 | 55 +- > > > platform/linux-generic/odp_queue_if.c | 8 + > > > platform/linux-generic/odp_queue_scalable.c | 1022 > ++++++++++ > > > platform/linux-generic/odp_schedule_if.c | 6 + > > > platform/linux-generic/odp_schedule_scalable.c | 1980 > > ++++++++++++++++++++ > > > .../linux-generic/odp_schedule_scalable_ordered.c | 345 ++++ > > > test/common_plat/performance/odp_pktio_ordered.c | 4 + > > > 26 files changed, 5157 insertions(+), 22 deletions(-) > > > create mode 100644 platform/linux-generic/arch/arm/odp_atomic.h > > > create mode 100644 platform/linux-generic/arch/arm/odp_cpu.h > > > create mode 100644 platform/linux-generic/arch/ > arm/odp_cpu_idling.h > > > create mode 100644 platform/linux-generic/arch/arm/odp_llsc.h > > > create mode 100644 platform/linux-generic/arch/default/odp_cpu.h > > > create mode 100644 platform/linux-generic/arch/mips64/odp_cpu.h > > > create mode 100644 platform/linux-generic/arch/powerpc/odp_cpu.h > > > create mode 100644 platform/linux-generic/arch/x86/odp_cpu.h > > > create mode 100644 platform/linux-generic/include/odp_bitset.h > > > create mode 100644 platform/linux-generic/include/odp_llqueue.h > > > create mode 100644 > > platform/linux-generic/include/odp_queue_scalable_internal.h > > > create mode 100644 > > platform/linux-generic/include/odp_schedule_scalable.h > > > create mode 100644 > > platform/linux-generic/include/odp_schedule_scalable_config.h > > > create mode 100644 > > platform/linux-generic/include/odp_schedule_scalable_ordered.h > > > create mode 100644 platform/linux-generic/odp_queue_scalable.c > > > create mode 100644 platform/linux-generic/odp_schedule_scalable.c > > > create mode 100644 > > platform/linux-generic/odp_schedule_scalable_ordered.c > > > > > > -- > > > 2.13.1 > > > > > > > > >