1. 17 Oct, 2018 2 commits
    • Philippe Gerum's avatar
      cobalt/thread: handle case of invalid domain migration over non-rt CPU · fddde89d
      Philippe Gerum authored
      Attempting to migrate to the head domain while running on a CPU which
      is not in part of the real-time set is a bug, and must be detected by
      the core.
      
      Furthermore, for this detection to work, the I-pipe must not BUG()
      unconditionally when failing to schedule out such thread in
      __ipipe_migrate_head(), but rather let the real-time core handle the
      situation (i.e. Xenomai in xnthread_harden()).
      
      Until both changes are in place, running a thread issuing a real-time
      call over a non-RT CPU would trigger a BUG() assertion, e.g.:
      
      With kernel parameter "xenomai.supported_cpus=2", running:
      
      $ switchtest --cpu-affinity=0
      
      would lead to:
      
      [   11.681486] kernel BUG at kernel/sched/core.c:5816!
      [   11.686343] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
      Signed-off-by: Philippe Gerum's avatarPhilippe Gerum <rpm@xenomai.org>
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      fddde89d
    • Philippe Gerum's avatar
      demo/cyclictest: turn on FIFO mode by default, detecting spurious relaxes · e3458590
      Philippe Gerum authored
      Make sure people do run the cyclictest the way it is intended to with
      Xenomai (i.e. using Xenomai's rt scheduler...).
      
      Also, detect and bail out upon spurious relaxes in dual kernel mode,
      so that latency results are dismissed as they should until the bug is
      fixed.
      Signed-off-by: Philippe Gerum's avatarPhilippe Gerum <rpm@xenomai.org>
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      e3458590
  2. 02 Oct, 2018 1 commit
  3. 27 Sep, 2018 7 commits
  4. 25 Aug, 2018 1 commit
  5. 03 Jul, 2018 1 commit
  6. 27 Jun, 2018 1 commit
  7. 25 Jun, 2018 2 commits
  8. 25 May, 2018 2 commits
  9. 13 May, 2018 1 commit
  10. 28 Apr, 2018 2 commits
  11. 26 Apr, 2018 5 commits
  12. 19 Apr, 2018 8 commits
  13. 18 Apr, 2018 3 commits
  14. 17 Apr, 2018 1 commit
  15. 13 Apr, 2018 1 commit
  16. 12 Apr, 2018 2 commits
    • Philippe Gerum's avatar
      copperplate/traceobj: use plain malloc/free for tracepoint array · 867c2c1b
      Philippe Gerum authored
      The tracepoint array must be initialized early in essence, when no
      real-time requirement exists yet. No need to pull such memory from the
      real-time allocator, malloc is fine.
      867c2c1b
    • Philippe Gerum's avatar
      copperplate/registry: use plain malloc/free in fusefs handlers · 8e606e68
      Philippe Gerum authored
      fusefs handlers are processed on behalf of the non-rt fusefs server
      thread, which never holds rt locks by design while issuing memory
      management calls (e.g. collect_wait_list()). So there is no need to
      pull memory from the private real-time allocator which storage may be
      limited, plain malloc is fine.
      
      At this chance, add a few missing __STD() notations to existing free()
      calls paired with __STD(malloc()).
      8e606e68