git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Safe to use stdatomic.h?

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Mar 20, 2017, 23:22 UTC
Message-ID
<20170320232240.k3egololfj7wt5cf@genre.crustytoothpaste.net>
In-Reply-To
<000801d2a1b7$1ec41620$5c4c4260$@gmail.com>
On Mon, Mar 20, 2017 at 04:18:20PM -0400, Ben Peart wrote:
Show 10 quoted lines
> My college Jeff is working on a patch series to further parallelize the
> loading of the index.  As part of that patch, it would be nice to use the
> atomic_fetch_add function as that would be more efficient than creating a
> mutex simply to protect a variable so that it can be incremented.  I haven't
> seen any use of atomics yet in Git, nor anything that includes
> <stdatomic.h>.
> 
> GCC has supported them since 4.9 and Clang has supported them by default
> since 3.3.  Are there any compilers currently in use by Git that don't
> support these C11 functions?

At work, we're compiling for CentOS 6 and 7. CentOS 7 only has GCC 4.8, and CentOS 6 has something much older. This is code we ship to customers, so we can't rely on them having devtoolset installed for newer GCC.

I could support the argument for ditching RHEL/CentOS 5 support, but I expect other people might disagree. After all, we're still targeting C89.

-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | https://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: https://keybase.io/bk2204
Previous: Jeff KingNext: Eric Wong
Message 3 of 4 in “Safe to use stdatomic.h?”
  1. Ben PeartMar 20, 2017
  2. Jeff KingMar 20, 2017
  3. brian m. carlsonMar 20, 2017
  4. Eric WongMar 21, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.