Re: [PATCH 2/5] atomic: introduce atomic_inc_not_zero

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Fri, 16 Sep 2005, Andrew Morton wrote:

> Nope.  On uniprocessor systems, atomic_foo() doesn't actually do the
> buslocked atomic thing.
> 
> #ifdef CONFIG_SMP
> #define LOCK "lock ; "
> #else
> #define LOCK ""
> #endif
> 
> On x86, at least.  Other architectures can do the same thing if they have
> an atomic-wrt-IRQs add and sub.

That's true on x86, but if these functions have to be emulated using 
spinlocks, they always have to disable interrupts, whether the caller 
needs it or not. Also x86 has the lock attribute, which helps a lot, but 
on other archs a cmpxchg instruction can be quite expensive, so it could 
be cheaper by just using {disable,enable}_preempt.

bye, Roman
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux