Merged.

Maxim.

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>>
> 
> 
> 
> 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
>     >
> 
> 

Reply via email to