1. 15 Jun, 2021 7 commits
    • Philippe Gerum's avatar
      evl/syscall: remove indirection via pointer table · 8d1858b0
      Philippe Gerum authored
      
      
      We have only very few syscalls, prefer a plain switch to a pointer
      indirection which ends up being fairly costly due to exploit
      mitigations.
      Signed-off-by: default avatarPhilippe Gerum <rpm@xenomai.org>
      8d1858b0
    • Philippe Gerum's avatar
      evl: kconfig: clarify wording · 2c69b296
      Philippe Gerum authored
      
      Signed-off-by: default avatarPhilippe Gerum <rpm@xenomai.org>
      2c69b296
    • Philippe Gerum's avatar
      evl/wait: display waitqueue name in trace · 7b0812b3
      Philippe Gerum authored
      
      Signed-off-by: default avatarPhilippe Gerum <rpm@xenomai.org>
      7b0812b3
    • Philippe Gerum's avatar
      evl: kconfig: introduce high per-CPU concurrency switch · 382242af
      Philippe Gerum authored
      
      
      EVL_HIGH_PERCPU_CONCURRENCY optimizes the implementation for
      applications with many real-time threads running concurrently on any
      given CPU core (typically when eight or more threads may be sharing a
      single CPU core). This is a combination of the scalable scheduler and
      rb-tree timer indexing as a single configuration switch, since both
      aspects are normally coupled.
      
      If the application system runs only a few EVL threads per CPU core,
      then this option should be turned off, in order to minimize the cache
      footprint of the queuing operations performed by the scheduler and
      timer subsystems. Otherwise, it should be turned on in order to have
      constant-time queuing operations for a large number of runnable
      threads and outstanding timers.
      Signed-off-by: default avatarPhilippe Gerum <rpm@xenomai.org>
      382242af
    • Philippe Gerum's avatar
      evl/sched: enable fast linear thread scheduler (non-scalable) · 5029c829
      Philippe Gerum authored
      
      
      For applications with only few runnable tasks at any point in time, a
      linear queue ordering the latter for scheduling delivers better
      performance on low-end systems due to smaller CPU cache footprints,
      compared to the multi-level queue used by the scalable scheduler.
      
      Allow users to select between lightning-fast and scalable scheduler
      implementation depending on the runtime profile of the application.
      Signed-off-by: default avatarPhilippe Gerum <rpm@xenomai.org>
      
      # Please enter the commit message for your changes. Lines starting
      # with '#' will be ignored, and an empty message aborts the commit.
      #
      # On branch evl/master
      # Your branch is ahead of 'origin/evl/master' by 2 commits.
      #   (use "git push" to publish your local commits)
      #
      # Changes to be committed:
      #	modified:   include/evl/sched.h
      #	modified:   include/evl/sched/queue.h
      #	modified:   include/evl/sched/tp.h
      #	modified:   include/evl/sched/weak.h
      #	modified:   kernel/evl/Kconfig
      #	modified:   kernel/evl/sched/core.c
      #
      # Untracked files:
      #	include/trace/events/mm.h
      #
      5029c829
    • Philippe Gerum's avatar
      8a272917
    • Philippe Gerum's avatar
      evl/timer: add linear indexing method · 48a9426d
      Philippe Gerum authored
      
      
      Add (back) the ability to index timers either in a rb-tree or linked
      to a basic linked list.
      
      The latter delivers lower latency to applications systems with very
      few active timers at any point in time (typically less than 10 active
      timers, e.g. not more than a couple of timed loops, very few timed
      syscalls).
      Signed-off-by: default avatarPhilippe Gerum <rpm@xenomai.org>
      48a9426d
  2. 15 May, 2021 2 commits
  3. 03 May, 2021 31 commits