1. 28 Apr, 2009 4 commits
    • Yinghai Lu's avatar
      irq: only update affinity if ->set_affinity() is sucessfull · 57b150cc
      Yinghai Lu authored
      irq_set_affinity() and move_masked_irq() try to assign affinity
      before calling chip set_affinity(). Some archs are assigning it
      in ->set_affinity() again.
      
      We do something like:
      
       cpumask_cpy(desc->affinity, mask);
       desc->chip->set_affinity(mask);
      
      But in the failure path, affinity should not be touched - otherwise
      we'll end up with a different affinity mask despite the failure to
      migrate the IRQ.
      
      So try to update the afffinity only if set_affinity returns with 0.
      Also call irq_set_thread_affinity accordingly.
      
      v2: update after "irq, x86: Remove IRQ_DISABLED check in process context IRQ move"
      v3: according to Ingo, change set_affinity() in irq_chip should return int.
      v4: update comments by removing moving irq_desc code.
      
      [ Impact: fix /proc/irq/*/smp_affinity setting corner case bug ]
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      LKML-Reference: <49F65509.60307@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      57b150cc
    • Yinghai Lu's avatar
      irq: change ->set_affinity() to return status · d5dedd45
      Yinghai Lu authored
      according to Ingo, change set_affinity() in irq_chip should return int,
      because that way we can handle failure cases in a much cleaner way, in
      the genirq layer.
      
      v2: fix two typos
      
      [ Impact: extend API ]
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: linux-arch@vger.kernel.org
      LKML-Reference: <49F654E9.4070809@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      d5dedd45
    • Yinghai Lu's avatar
      x86/irq: remove leftover code from NUMA_MIGRATE_IRQ_DESC · fcef5911
      Yinghai Lu authored
      The original feature of migrating irq_desc dynamic was too fragile
      and was causing problems: it caused crashes on systems with lots of
      cards with MSI-X when user-space irq-balancer was enabled.
      
      We now have new patches that create irq_desc according to device
      numa node. This patch removes the leftover bits of the dynamic balancer.
      
      [ Impact: remove dead code ]
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      LKML-Reference: <49F654AF.8000808@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      fcef5911
    • Yinghai Lu's avatar
      irq, cpumask: correct CPUMASKS_OFFSTACK typo and fix fallout · 9ec4fa27
      Yinghai Lu authored
      CPUMASKS_OFFSTACK is not defined anywhere (it is CPUMASK_OFFSTACK).
      It is a typo and init_allocate_desc_masks() is called before it set
      affinity to all cpus...
      
      Split init_alloc_desc_masks() into all_desc_masks() and init_desc_masks().
      
      Also use CPUMASK_OFFSTACK in alloc_desc_masks().
      
      [ Impact: fix smp_affinity copying/setup when moving irq_desc between CPUs ]
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Acked-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      LKML-Reference: <49F6546E.3040406@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      9ec4fa27
  2. 27 Apr, 2009 9 commits
  3. 26 Apr, 2009 14 commits
  4. 24 Apr, 2009 13 commits