manage.c (10a558374f3751cf4eb55143008975641dfc2cf4) | manage.c (cbf8699996a6e7f2f674b3a2a4cef9f666ff613e) |
---|---|
1/* 2 * linux/kernel/irq/manage.c 3 * 4 * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar 5 * Copyright (C) 2005-2006 Thomas Gleixner 6 * 7 * This file contains driver APIs to the irq subsystem. 8 */ --- 841 unchanged lines hidden (view full) --- 850 return; 851 } 852 853 raw_spin_lock_irq(&desc->lock); 854 /* 855 * This code is triggered unconditionally. Check the affinity 856 * mask pointer. For CPU_MASK_OFFSTACK=n this is optimized out. 857 */ | 1/* 2 * linux/kernel/irq/manage.c 3 * 4 * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar 5 * Copyright (C) 2005-2006 Thomas Gleixner 6 * 7 * This file contains driver APIs to the irq subsystem. 8 */ --- 841 unchanged lines hidden (view full) --- 850 return; 851 } 852 853 raw_spin_lock_irq(&desc->lock); 854 /* 855 * This code is triggered unconditionally. Check the affinity 856 * mask pointer. For CPU_MASK_OFFSTACK=n this is optimized out. 857 */ |
858 if (cpumask_available(desc->irq_common_data.affinity)) 859 cpumask_copy(mask, desc->irq_common_data.affinity); 860 else | 858 if (cpumask_available(desc->irq_common_data.affinity)) { 859 const struct cpumask *m; 860 861 m = irq_data_get_effective_affinity_mask(&desc->irq_data); 862 cpumask_copy(mask, m); 863 } else { |
861 valid = false; | 864 valid = false; |
865 } |
|
862 raw_spin_unlock_irq(&desc->lock); 863 864 if (valid) 865 set_cpus_allowed_ptr(current, mask); 866 free_cpumask_var(mask); 867} 868#else 869static inline void --- 1336 unchanged lines hidden --- | 866 raw_spin_unlock_irq(&desc->lock); 867 868 if (valid) 869 set_cpus_allowed_ptr(current, mask); 870 free_cpumask_var(mask); 871} 872#else 873static inline void --- 1336 unchanged lines hidden --- |