Skip to content
  • 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