cpumask updates for um
The following changes since commit 5bee17f18b595937e6beafeee5197868a3f74a06:
Kyle McMartin (1):
parisc: sba_iommu: fix build bug when CONFIG_PARISC_AGP=y
are available in the git repository at:
ssh://master.kernel.org/home/ftp/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask-for-um.git master
Rusty Russell (3):
cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: um
cpumask: Use accessors code.: um
cpumask: use mm_cpumask() wrapper: um
arch/um/include/asm/mmu_context.h | 4 ++-- arch/um/kernel/smp.c | 2 +- arch/um/kernel/um_arch.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-)
commit 9ca79a68564459385c0a8db903ec6ffe6b00c50c
Author: Rusty Russell <[email protected]> Date: Mon Mar 16 14:27:41 2009 +1030
cpumask: use mm_cpumask() wrapper: um
Makes code futureproof against the impending change to mm->cpu_vm_mask.
It's also a chance to use the new cpumask_ ops which take a pointer (the older ones are deprecated, but there's no hurry for arch code).
arch/um/include/asm/mmu_context.h +2 -2
@@ -35,8 +35,8 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,unsigned cpu =smp_processor_id ();if (prev != next){ -cpu_clear (cpu, prev->cpu_vm_mask); -cpu_set (cpu, next->cpu_vm_mask); +cpumask_clear (cpu,mm_cpumask (prev)); +cpumask_set_cpu (cpu,mm_cpumask (next));if (next != &init_mm)__switch_mm (&next->context.id); }
commit 577e3b46d67a0dc236a9eb89c06861a8b4580a02
Author: Rusty Russell <[email protected]> Date: Mon Mar 16 14:27:41 2009 +1030
cpumask: Use accessors code.: um
Impact: use new API
Use the accessors rather than frobbing bits directly. Most of this is in arch code I haven't even compiled, but is straightforward.
arch/um/kernel/smp.c +1 -1
@@ -111,7 +111,7 @@ void smp_prepare_cpus(unsigned int maxcpus)int i;for (i =0 ; i < ncpus; ++i) -cpu_set (i, cpu_possible_map); +set_cpu_possible (i, true);cpu_clear (me, cpu_online_map);cpu_set (me, cpu_online_map);
commit 816a1c29fc3d9bb95dde5806c29629d16947bfe7
Author: Rusty Russell <[email protected]> Date: Mon Mar 16 14:27:40 2009 +1030
cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: um
Impact: cleanup, futureproof
In fact, all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in various places.
This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot.
arch/um/kernel/um_arch.c +1 -1
@@ -80,7 +80,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)static void *c_start (struct seq_file *m,loff_t *pos) { -return *pos <NR_CPUS ? cpu_data + *pos :NULL ; +return *pos < nr_cpu_ids ? cpu_data + *pos :NULL ; }static void *c_next (struct seq_file *m,void *v,loff_t *pos)