Re: [PATCH 1/6] {set,clear,test}_bit() related cleanup
From: Russell King <hidden>
Date: 2006-01-26 16:47:57
Also in:
linuxppc-dev, lkml, sparclinux
From: Russell King <hidden>
Date: 2006-01-26 16:47:57
Also in:
linuxppc-dev, lkml, sparclinux
On Thu, Jan 26, 2006 at 05:14:27PM +0100, Pavel Machek wrote:
quoted
Index: 2.6-git/include/asm-x86_64/mmu_context.h ===================================================================--- 2.6-git.orig/include/asm-x86_64/mmu_context.h 2006-01-25 19:07:15.000000000 +0900 +++ 2.6-git/include/asm-x86_64/mmu_context.h 2006-01-25 19:13:59.000000000 +0900@@ -34,12 +34,12 @@ unsigned cpu = smp_processor_id(); if (likely(prev != next)) { /* stop flush ipis for the previous mm */ - clear_bit(cpu, &prev->cpu_vm_mask); + cpu_clear(cpu, prev->cpu_vm_mask); #ifdef CONFIG_SMP write_pda(mmu_state, TLBSTATE_OK); write_pda(active_mm, next); #endif - set_bit(cpu, &next->cpu_vm_mask); + cpu_set(cpu, next->cpu_vm_mask); load_cr3(next->pgd); if (unlikely(next->context.ldt != prev->context.ldt))cpu_set sounds *very* ambiguous. We have thing called cpusets, for example. I'd not guess that is set_bit in cpu endianity (is it?).
That's a problem for the cpusets folk - cpu_set predates them by a fair time - it's part of the cpumask API. See include/linux/cpumask.h Also, since cpu_vm_mask is a cpumask_t, the above change to me looks like a bug fix in its own right. -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 Serial core