Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'parisc-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6

Pull PARISC misc updates from James Bottomley:
"This is a couple of minor updates (fixing lws futex locking and
removing some obsolete cpu_*_map calls)."

* tag 'parisc-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6:
[PARISC] remove references to cpu_*_map.
[PARISC] futex: Use same lock set as lws calls

+28 -6
+27 -4
arch/parisc/include/asm/futex.h
··· 8 8 #include <asm/atomic.h> 9 9 #include <asm/errno.h> 10 10 11 + /* The following has to match the LWS code in syscall.S. We have 12 + sixteen four-word locks. */ 13 + 14 + static inline void 15 + _futex_spin_lock_irqsave(u32 __user *uaddr, unsigned long int *flags) 16 + { 17 + extern u32 lws_lock_start[]; 18 + long index = ((long)uaddr & 0xf0) >> 2; 19 + arch_spinlock_t *s = (arch_spinlock_t *)&lws_lock_start[index]; 20 + local_irq_save(*flags); 21 + arch_spin_lock(s); 22 + } 23 + 24 + static inline void 25 + _futex_spin_unlock_irqrestore(u32 __user *uaddr, unsigned long int *flags) 26 + { 27 + extern u32 lws_lock_start[]; 28 + long index = ((long)uaddr & 0xf0) >> 2; 29 + arch_spinlock_t *s = (arch_spinlock_t *)&lws_lock_start[index]; 30 + arch_spin_unlock(s); 31 + local_irq_restore(*flags); 32 + } 33 + 11 34 static inline int 12 35 futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) 13 36 { ··· 49 26 50 27 pagefault_disable(); 51 28 52 - _atomic_spin_lock_irqsave(uaddr, flags); 29 + _futex_spin_lock_irqsave(uaddr, &flags); 53 30 54 31 switch (op) { 55 32 case FUTEX_OP_SET: ··· 94 71 ret = -ENOSYS; 95 72 } 96 73 97 - _atomic_spin_unlock_irqrestore(uaddr, flags); 74 + _futex_spin_unlock_irqrestore(uaddr, &flags); 98 75 99 76 pagefault_enable(); 100 77 ··· 136 113 * address. This should scale to a couple of CPUs. 137 114 */ 138 115 139 - _atomic_spin_lock_irqsave(uaddr, flags); 116 + _futex_spin_lock_irqsave(uaddr, &flags); 140 117 141 118 ret = get_user(val, uaddr); 142 119 ··· 145 122 146 123 *uval = val; 147 124 148 - _atomic_spin_unlock_irqrestore(uaddr, flags); 125 + _futex_spin_unlock_irqrestore(uaddr, &flags); 149 126 150 127 return ret; 151 128 }
+1 -2
arch/parisc/kernel/smp.c
··· 290 290 mb(); 291 291 292 292 /* Well, support 2.4 linux scheme as well. */ 293 - if (cpu_isset(cpunum, cpu_online_map)) 294 - { 293 + if (cpu_online(cpunum)) { 295 294 extern void machine_halt(void); /* arch/parisc.../process.c */ 296 295 297 296 printk(KERN_CRIT "CPU#%d already initialized!\n", cpunum);