1. 25 Jun, 2018 1 commit
  2. 25 May, 2018 2 commits
  3. 13 May, 2018 1 commit
  4. 28 Apr, 2018 2 commits
  5. 26 Apr, 2018 5 commits
  6. 19 Apr, 2018 8 commits
  7. 18 Apr, 2018 3 commits
  8. 17 Apr, 2018 1 commit
  9. 13 Apr, 2018 1 commit
  10. 12 Apr, 2018 5 commits
  11. 11 Apr, 2018 2 commits
  12. 10 Apr, 2018 1 commit
    • Philippe Gerum's avatar
      cobalt: unconditionally allow idling requests · 33dd9ce1
      Philippe Gerum authored
      Wait for the idling interface rework from I-pipe/4.14, which will
      provide more information for determining whether Cobalt should be ok
      with entering the target idle state.
      
      As a result of this change, the original kernel behavior is restored
      for all ipipe-4.9.y patches with respect to entering an idle state,
      including for the releases lacking commits #89146106e8 or #8d3fa22c95.
      
      This change only affects kernels built with CONFIG_CPU_IDLE enabled.
      
      NOTE: XNIDLE is intentionally kept for future use in the Cobalt core.
      33dd9ce1
  13. 08 Apr, 2018 1 commit
  14. 05 Apr, 2018 1 commit
  15. 03 Apr, 2018 1 commit
  16. 01 Apr, 2018 2 commits
  17. 29 Mar, 2018 1 commit
    • Philippe Gerum's avatar
      cobalt/posix/timer: fix CPU affinity tracking · 1cdcf888
      Philippe Gerum authored
      Timers may have specific CPU affinity requirements in that their
      backing clock device might not beat on all available CPUs, but only on
      a subset of them.
      
      The CPU affinity of every timer bound to a particular thread has to be
      tracked each time such timer is started, so that no core timer is
      queued to a per-CPU list which won't receive any event from the
      backing clock device.
      
      Such tracking was missing for timerfd and POSIX timers, along with
      internal timers running the sporadic scheduling policy.
      
      At this chance, the timer affinity code was cleaned up by folding all
      the affinity selection logic into a single call,
      i.e. xntimer_set_affinity().
      1cdcf888
  18. 20 Mar, 2018 1 commit
    • Philippe Gerum's avatar
      cobalt/sched, clock: provide ipipe_enter_idle_hook() · 59560645
      Philippe Gerum authored
      Since kernel 4.9, the pipeline code may ask us whether it would be
      fine to enter the idle state on the current CPU, by mean of a probing
      hook called ipipe_enter_idle_hook().
      
      Provide this hook, considering that absence of outstanding timers
      means idleness to us.
      59560645
  19. 16 Mar, 2018 1 commit
    • Philippe Gerum's avatar
      copperplate/threadobj: fix NULL dereference in threadobj_unblock() · 945c7dbf
      Philippe Gerum authored
      threadobj_unblock() simply does not work, dereferencing a NULL pointer
      whenever it actually manages to unblock a thread waiting on a
      synchronization object.
      
      Calling syncobj_flush() on this object to wake up waiters zeroes the
      wait_sobj field in the corresponding TCBs, so don't dereference
      thobj->wait_sobj past this point.
      
      Thread 1 "main" received signal SIGSEGV, Segmentation fault.
      0x00007ffff79aeda0 in __syncobj_tag_unlocked (sobj=0x0) at include/copperplate/syncobj.h:100
      100		assert(sobj->flags & SYNCOBJ_LOCKED);
      (gdb) bt
      945c7dbf