This is the mail archive of the
cygwin-patches@cygwin.com
mailing list for the Cygwin project.
Re: Probably unnecessary InterlockedCompareExchangePointer inList_remove in thread.h
For example this post:
http://lists.freebsd.org/pipermail/freebsd-current/2004-May/026871.html
VH
On Mon, 30 May 2005, Christopher Faylor wrote:
> On Mon, May 30, 2005 at 08:00:52PM +0200, Vaclav Haisman wrote:
> >I am not sure, that is why I wrote "probably". But from what I see there is
> >already exclusive access guaranteed by the mx.lock() call, unless of course I
> >am completely misunderstanding something.
>
> I don't think you are. I missed this too when I saw your patch and had
> the same reaction that Corinna did.
>
> I think this patch should be ok to apply.
>
> >I can tell you that "lock; cmpxchg" pair of instruction is really not as cheap
> >as it looks. Especially on SMP systems. It takes above 100 of cycles on
> >contemporary CPUs.
>
> Do you have a reference which states this? 100s of cycles sounds like an
> incredible amount of overhead.
>
> cgf
>