1. 08 Dec, 2008 3 commits
    • Yinghai Lu's avatar
      x86: MSI start irq numbering from nr_irqs_gsi · be5d5350
      Yinghai Lu authored
      Impact: sanitize MSI irq number ordering from top-down to bottom-up
      
      Increase new MSI IRQs starting from nr_irqs_gsi (which is somewhere below
      256), instead of decreasing from NR_IRQS. (The latter method can result
      in confusingly high IRQ numbers - if NR_CPUS is set to a high value and
      NR_IRQS scales up to a high value.)
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      be5d5350
    • Yinghai Lu's avatar
      x86: use NR_IRQS_LEGACY · 99d093d1
      Yinghai Lu authored
      Impact: cleanup
      
      Introduce NR_IRQS_LEGACY instead of hard coded number.
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      99d093d1
    • Yinghai Lu's avatar
      sparse irq_desc[] array: core kernel and x86 changes · 0b8f1efa
      Yinghai Lu authored
      Impact: new feature
      
      Problem on distro kernels: irq_desc[NR_IRQS] takes megabytes of RAM with
      NR_CPUS set to large values. The goal is to be able to scale up to much
      larger NR_IRQS value without impacting the (important) common case.
      
      To solve this, we generalize irq_desc[NR_IRQS] to an (optional) array of
      irq_desc pointers.
      
      When CONFIG_SPARSE_IRQ=y is used, we use kzalloc_node to get irq_desc,
      this also makes the IRQ descriptors NUMA-local (to the site that calls
      request_irq()).
      
      This gets rid of the irq_cfg[] static array on x86 as well: irq_cfg now
      uses desc->chip_data for x86 to store irq_cfg.
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      0b8f1efa
  2. 05 Dec, 2008 21 commits
  3. 04 Dec, 2008 16 commits