1. 12 Nov, 2012 1 commit
    • Thomas Gleixner's avatar
      genirq: Always force thread affinity · 04aa530e
      Thomas Gleixner authored
      Sankara reported that the genirq core code fails to adjust the
      affinity of an interrupt thread in several cases:
      
       1) On request/setup_irq() the call to setup_affinity() happens before
          the new action is registered, so the new thread is not notified.
      
       2) For secondary shared interrupts nothing notifies the new thread to
          change its affinity.
      
       3) Interrupts which have the IRQ_NO_BALANCE flag set are not moving
          the thread either.
      
      Fix this by setting the thread affinity flag right on thread creation
      time. This ensures that under all circumstances the thread moves to
      the right place. Requires a check in irq_thread_check_affinity for an
      existing affinity mask (CONFIG_CPU_MASK_OFFSTACK=y)
      Reported-and-tested-by: default avatarSankara Muthukrishnan <sankara.m@gmail.com>
      Cc: stable@vger.kernel.org
      Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1209041738200.2754@ionosSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      04aa530e
  2. 01 Nov, 2012 2 commits
  3. 31 Oct, 2012 20 commits
  4. 30 Oct, 2012 17 commits