1. 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
  2. 08 Nov, 2019 37 commits