Bug #33728 Atomic builtins
Submitted: 7 Jan 2008 21:06 Modified: 25 Jan 2008 19:45
Reporter: Davi Arnaut (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: General Severity:S4 (Feature request)
Version:5.1 OS:Any
Assigned to: Davi Arnaut CPU Architecture:Any

[7 Jan 2008 21:06] Davi Arnaut
Description:
Recent versions of the GCC and ICC compilers provide a set of atomic builtins compatible with those described in the Intel Itanium Processor-specific Application Binary Interface, section 7.4, and are available on a handful of platforms.

Those builtins can be used with the types int, long, long long and their unsigned counterparts, but GCC will allow any integral scalar or pointer type whose length is 1, 2, 4 or 8 bytes.

The builtins are also associated with memory barrier properties that restrict the movement of memory references to visible data across the intrinsic operation by either the compiler or the processor.

More details are available at:

GCC:

http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html

ICC:

http://www.intel.com/software/products/compilers/clin/docs/main_cls/mergedProjects/cref_cl...

How to repeat:
Unrepeatable, feature request.

Suggested fix:
Implement the atomic builtins as a 'backend' for MySQL's atomic primitives.
[11 Jan 2008 22:35] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/40946

ChangeSet@1.2656, 2008-01-11 20:34:36-02:00, davi@mysql.com +3 -0
  Bug#33728 Atomic builtins
  
  Use compiler provided atomic builtins as a 'backend' for
  MySQL's atomic primitives. The builtins are available on
  a handful of platforms and compilers.
[25 Jan 2008 12:36] Bugs System
Pushed into 5.1.24-rc
[25 Jan 2008 12:40] Bugs System
Pushed into 6.0.5-alpha
[25 Jan 2008 19:45] Paul DuBois
No changelog entry needed.