atomic operations under linux
Gilboa Davara
gilboad at gmail.com
Thu Dec 10 16:33:45 IST 2009
On Thu, 2009-12-10 at 11:19 +0200, Shachar Shemesh wrote:
> Gilboa Davara wrote:
> >
> > Why?
> > - Write code that can run more-or-less the same as kernel module and as
> > a user-space library. (And under multiple different OS')
> > - Implement fast spinlocks and/or RW locks in user mode. (Again, that
> > behave the same under kernel mode and user mode.)
> > - Atomic counters.
> > - Anything else that can use the "lock" prefix.
> >
> > - Gilboa
> >
> I'll just point out that all of the above only make sense if you are
> guaranteed low contention. If not, using the OS supplied locking
> mechanisms will bring much better performance, due to the fact that
> locked tasks do not take CPU time (are scheduled out).
>
> If you can guarantee extremely low contention, yes, there is *SOME*
> sense. If not, I think this is premature optimization.
>
> Shachar
I fully agree.
Using spinlocks to lock small segment of code that needs 5-20 CPU cycles
and has 10% of hitting contention is wise, doing the same on a 2000
cycle segment with 50% of hitting spinning is stupid.
- Gilboa
More information about the Linux-il
mailing list