Bug #58666 Fix the PAUSE instruction handling in InnoDB
Submitted: 2 Dec 2010 17:22 Modified: 11 Feb 2011 0:33
Reporter: Calvin Sun Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.5 OS:Any
Assigned to: Vasil Dimov CPU Architecture:Any

[2 Dec 2010 17:22] Calvin Sun
Description:
Previously HAVE_IB_PAUSE_INSTRUCTION was not defined in CMake for non-Windows platforms, and thus InnoDB never used the PAUSE instruction on non-windows even if it was available. The check was never migrated from autotools' storage/innobase/plug.in to storage/innobase/CMakeLists.txt.

Since the check for PAUSE is done at top-level configure.cmake we can use the result from there (HAVE_PAUSE_INSTRUCTION) instead of rolling InnoDB's own HAVE_IB_PAUSE_INSTRUCTION (the check is identical anyway).

How to repeat:
See the code.

Suggested fix:
See desp.
[2 Dec 2010 17:23] Calvin Sun
revno: 3236
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-5.5-innodb
timestamp: Fri 2010-11-26 10:54:12 +0200
[7 Feb 2011 18:27] Vasil Dimov
The fix went into MySQL 5.5.9 under

revno: 3236
revision-id: vasil.dimov@oracle.com-20101126085412-t91hs1c9s4nabun2
parent: vasil.dimov@oracle.com-20101125071125-x9n150t6gziua02w
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-5.5-innodb
timestamp: Fri 2010-11-26 10:54:12 +0200
[11 Feb 2011 0:33] John Russell
Added to doc change log:

InnoDB now uses the PAUSE instruction on all platforms where it is
available. Previously, InnoDB would only use the PAUSE instruction on
Windows systems.