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> 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
>
> On checkpatch.pl:
>  - [2/6] and [5/6] have 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 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 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                 |   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
>

Reply via email to