[Patch] nginx to use libatomic_ops
wmark+nginx at hurrikane.de
Fri Oct 9 13:57:24 MSD 2009
2009/10/8 Igor Sysoev <is at rambler-co.ru>:
> On Tue, Sep 29, 2009 at 12:26:43PM +0200, W-Mark Kubacki wrote:
>> What do you think about the compromise using GCC builtins if
>> --with-libatomic is not set?
>> Only architectures not covered by the #ifs would be affected and you
>> could remove lock_file code entirely in future.
> On i386/amd64 gcc builtins are just inlines and do not require libgcc.
> As to libatomic, I'm not sure now. I prefer to use complex libraries
> such as OpenSSL, zlib, etc.
On x86/amd64 the shipped assembler code works fine, and my libatomic
patch was intended for 'other' architectures.
Despite of the latter I believe reinventing the wheel (as did php-fpm)
is no good engineering - and you need to maintain that code yourself
rather than have the 'community' do that for you (and other projects).
Unfortunately I don't know the "complex" libraries good enough to tell
whether they contain atomic ops nor whether they export it.
Igor, if it was my project I would have deleted the asm part
completely and used GCC atomics (the same goes for php-fpm) where
available, and libatomic (or any better replacement, I am not dogmatic
here) else. As far as I can tell the latter are inlined, too.
In the meantime I've created modified Gentoo ebuilds  (for all
archs) and binaries  (for ARM) - with the option for libatomic.
Find it attached as the link mentioned previously does not work
anymore because I replaced subversion by GIT.
(set this as binhost in Gentoo and the packages will be pulled
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 3970 bytes
Desc: not available
More information about the nginx