Bug #59472 increase AIO requests per IO thread limit to 256 from 32
Submitted: 13 Jan 2011 16:29 Modified: 11 Feb 2011 0:34
Reporter: Inaam Rana Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.5 OS:Linux
Assigned to: Inaam Rana CPU Architecture:Any
Triage: Triaged: D3 (Medium) / R1 (None/Negligible) / E2 (Low)

[13 Jan 2011 16:29] Inaam Rana
Description:
When using native aio on linux each IO helper thread should be able to handle upto 256 IO requests. The number 256 is the same which is used for simulated aio as well. In case of windows where we also use native aio this limit is 32 because of OS constraints. It seems that we are using the limit of 32 for all the platforms where we are using native aio.

How to repeat:
see code in srv0start.c calling os_aio_init()

Suggested fix:
Use the limit of 32 only for windows. For all other platforms the limit should be 256.
[7 Feb 2011 23:46] 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/130643

3309 Inaam Rana	2011-02-07
      Bug #59472 increase AIO requests per IO thread limit to 256 from 32
      
      rb://566
      approved by: Sunny
      
      When using native aio on linux each IO helper thread should be able to
      handle upto 256 IO requests. The number 256 is the same which is used
      for simulated aio as well. In case of windows where we also use native
      aio this limit is 32 because of OS constraints. It seems that we are
      using the limit of 32 for all the platforms where we are using native
      aio. The fix is to use 256 on all platforms except windows (when native
      aio is enabled on windows)
[7 Feb 2011 23:54] 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/130646

3486 Inaam Rana	2011-02-07 [merge]
      Bug #59472 increase AIO requests per IO thread limit to 256 from 32
      Merged from mysql-5.5-innodb -r3309
      
        rb://566
        approved by: Sunny
        
        When using native aio on linux each IO helper thread should be able to
        handle upto 256 IO requests. The number 256 is the same which is used
        for simulated aio as well. In case of windows where we also use native
        aio this limit is 32 because of OS constraints. It seems that we are
        using the limit of 32 for all the platforms where we are using native
        aio. The fix is to use 256 on all platforms except windows (when native
        aio is enabled on windows)
[8 Feb 2011 17:37] Bugs System
Pushed into mysql-trunk 5.6.2 (revid:vasil.dimov@oracle.com-20110208173442-ocy58fdcuew3xvex) (version source revid:vasil.dimov@oracle.com-20110208173331-fu0j2s14jbg915zu) (merge vers: 5.6.2) (pib:24)
[8 Feb 2011 17:38] Bugs System
Pushed into mysql-5.5 5.5.10 (revid:vasil.dimov@oracle.com-20110208173046-qsmzbrw1gppahx5o) (version source revid:vasil.dimov@oracle.com-20110208172800-tls70r2ot1i0dub7) (merge vers: 5.5.10) (pib:24)
[11 Feb 2011 0:34] John Russell
Added to doc changelog:

Raised the number of I/O requests that each AIO helper thread could
process, from 32 to 256. The new limit applies to Linux and Unix
platforms; the limit on Windows remains 32.