1. 17 Feb, 2020 1 commit
    • Jan Kiszka's avatar
      ipipe: Disable rcuidle trace path when running over the head domain · b8acb698
      Jan Kiszka authored
      We do not need the special handling of __DO_TRACE(..., rcuidle=1) when
      running over the head domain. In fact, we cannot use it because it
      switches to srcu which is incompatible with that context. It's safe to
      switch to normal RCU because no head domain caller of a trace_*_rcuidle
      tracepoints should do this from rcu-problematic paths, specifically
      idle.
      
      Ported from the dovetail queue.
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      b8acb698
  2. 12 Dec, 2019 3 commits
    • Philippe Gerum's avatar
      ipipe: timer: allocate cpumask dynamically · 6d65d81d
      Philippe Gerum authored
      When a huge number of CPUs is available (e.g. CONFIG_MAXSMP/x86), we
      might overflow the stack with cpumask_t variables in
      ipipe_select_timer(). Allocate the cpumask we need there dynamically
      instead.
      6d65d81d
    • Philippe Gerum's avatar
      ipipe: switch potentially large cpumask to static storage · 17c291fe
      Philippe Gerum authored
      When a huge number of CPUs is available (e.g. CONFIG_MAXSMP/x86), we
      might overflow the stack with cpumask_t variables in
      ipipe_critical_enter().
      
      Instead of allocating cpumask_var_t dynamically for these, rely on the
      fact that we cannot reenter the code accessing them by design, so
      those variables may be moved to local static storage.
      17c291fe
    • Philippe Gerum's avatar
      ipipe: add 4th mapping level to interrupt log · e256e95e
      Philippe Gerum authored
      Some configurations may define more than 256K distinct interrupts
      (e.g. CONFIG_MAXSMP/x86), which is the limit for the current 3-level
      mapping used for logging IRQs. Add a 4th mapping level to support
      configurations up to 16M interrupts.
      e256e95e
  3. 08 Nov, 2019 36 commits