On Mon, 9 Jul 2007, Martin Bligh wrote:
Those numbers came from Mathieu Desnoyers (LTTng) if you
want more details.
Okay the source for these numbers is in his paper for the OLS 2006: Volume 1 page 208-209? I do not see the exact number that you referred to there.
He seems to be comparing spinlock acquire / release vs. cmpxchg. So I guess you got your material from somewhere else?
Also the cmpxchg used there is the lockless variant. cmpxchg 29 cycles w/o lock prefix and 112 with lock prefix.
I see you reference another paper by Desnoyers: http://tree.celinuxforum.org/CelfPubWiki/ELC2006Presentations?action=AttachFile&do=get&target=celf2006-desnoyers.pdf
I do not see anything relevant there. Where did those numbers come from?
The lockless cmpxchg is certainly an interesting idea. Certain for some platforms I could disable preempt and then do a lockless cmpxchg.