please add CI commit to current serries on next update.

On 19 June 2017 at 19:09, Maxim Uvarov <[email protected]> wrote:

> Travis found a bug:
>
> https://travis-ci.org/muvarov/odp/jobs/243801892
>
> In file included from 
> ../../../platform/linux-generic/include/odp_schedule_scalable.h:15:0,
>
>                  from 
> ../../../platform/linux-generic/include/odp_queue_scalable_internal.h:24,
>
>                  from ../../../platform/linux-generic/odp_queue_scalable.c:23:
>
> ../../../platform/linux-generic/include/odp_schedule_scalable_ordered.h:14:24:
>  fatal error: odp_bitset.h: No such file or directory
>
>  #include <odp_bitset.h>
>
>                         ^
>
> compilation terminated.
>
>
> On 18 June 2017 at 20:09, Brian Brooks <[email protected]> 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/5] and [5/5] have checkpatch.pl issues that are superfluous
>>
>> 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
>>   Add arch/ files
>>   Add a bitset
>>   Add a concurrent queue
>>   Add scalable scheduler
>>
>>  platform/linux-generic/Makefile.am                 |   10 +
>>  platform/linux-generic/arch/arm/odp_atomic.h       |  210 +++
>>  platform/linux-generic/arch/arm/odp_cpu.h          |   65 +
>>  platform/linux-generic/arch/arm/odp_cpu_idling.h   |   51 +
>>  platform/linux-generic/arch/arm/odp_llsc.h         |  249 +++
>>  platform/linux-generic/arch/default/odp_cpu.h      |   41 +
>>  platform/linux-generic/arch/mips64/odp_cpu.h       |   41 +
>>  platform/linux-generic/arch/powerpc/odp_cpu.h      |   41 +
>>  platform/linux-generic/arch/x86/odp_cpu.h          |   41 +
>>  .../include/odp/api/plat/schedule_types.h          |    4 +-
>>  platform/linux-generic/include/odp_bitset.h        |  210 +++
>>  .../linux-generic/include/odp_config_internal.h    |   17 +-
>>  platform/linux-generic/include/odp_llqueue.h       |  309 +++
>>  .../include/odp_queue_scalable_internal.h          |  102 +
>>  platform/linux-generic/include/odp_schedule_if.h   |    2 +-
>>  .../linux-generic/include/odp_schedule_scalable.h  |  137 ++
>>  .../include/odp_schedule_scalable_config.h         |   55 +
>>  .../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        | 1020 ++++++++++
>>  platform/linux-generic/odp_schedule_if.c           |    6 +
>>  platform/linux-generic/odp_schedule_scalable.c     | 1978
>> ++++++++++++++++++++
>>  .../linux-generic/odp_schedule_scalable_ordered.c  |  347 ++++
>>  test/common_plat/performance/odp_pktio_ordered.c   |    4 +
>>  25 files changed, 5113 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_sch
>> edule_scalable_ordered.c
>>
>> --
>> 2.13.1
>>
>>
>

Reply via email to