f5f5370da4
Now that Christoph Lameter's atomic_long_t support is merged in mainline, might as well convert asm-generic/local.h to use it, so the same code can be used for both sizes of 32 and 64-bit unsigned longs. akpm sayeth: Q: Is there any particular reason why these routines weren't simply implemented with local_save/restore_flags, if they are only meant to guarantee atomicity to the local cpu? I'm sure on most platforms this would be more efficient than using an atomic... A: The whole _point_ of local_t is to avoid local_irq_disable(). It's designed to exploit the fact that many CPUs can do incs and decs in a way which is atomic wrt local interrupts, but not atomic wrt SMP. But this patch makes sense, because asm-generic/local.h is just a fallback implementation for architectures which either cannot perform these local-irq-atomic operations, or its maintainers haven't yet got around to implementing them. We need more work done on local_t in the 2.6.17 timeframe - they're defined as unsigned long, but some architectures implement them as signed long. Signed-off-by: Kyle McMartin <kyle@parisc-linux.org> Cc: Benjamin LaHaise <bcrl@kvack.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
||
---|---|---|
.. | ||
bitops | ||
4level-fixup.h | ||
atomic.h | ||
bitops.h | ||
bug.h | ||
cputime.h | ||
div64.h | ||
dma-mapping-broken.h | ||
dma-mapping.h | ||
emergency-restart.h | ||
errno-base.h | ||
errno.h | ||
fcntl.h | ||
futex.h | ||
ide_iops.h | ||
ioctl.h | ||
iomap.h | ||
ipc.h | ||
local.h | ||
memory_model.h | ||
mman.h | ||
mutex-dec.h | ||
mutex-null.h | ||
mutex-xchg.h | ||
page.h | ||
pci-dma-compat.h | ||
pci.h | ||
percpu.h | ||
pgtable-nopmd.h | ||
pgtable-nopud.h | ||
pgtable.h | ||
resource.h | ||
rtc.h | ||
sections.h | ||
siginfo.h | ||
signal.h | ||
statfs.h | ||
termios.h | ||
tlb.h | ||
topology.h | ||
uaccess.h | ||
unaligned.h | ||
vmlinux.lds.h | ||
xor.h |