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)
modified:
storage/innobase/srv/srv0start.c
3485 Marko Mäkelä 2011-02-07
Fix bogus Microsoft Visual Studio warnings.
ut_error does not return.
modified:
storage/innobase/lock/lock0wait.c
storage/innobase/trx/trx0roll.c
=== modified file 'storage/innobase/srv/srv0start.c'
--- a/storage/innobase/srv/srv0start.c revid:marko.makela@stripped
+++ b/storage/innobase/srv/srv0start.c revid:inaam.rana@strippedom-20110207235155-w1lwr15b6h03ycwf
@@ -1327,13 +1327,16 @@ innobase_start_or_create_for_mysql(void)
ut_a(srv_n_file_io_threads <= SRV_MAX_N_IO_THREADS);
- /* TODO: Investigate if SRV_N_PENDING_IOS_PER_THREAD (32) limit
- still applies to windows. */
- if (!srv_use_native_aio) {
- io_limit = 8 * SRV_N_PENDING_IOS_PER_THREAD;
- } else {
+ io_limit = 8 * SRV_N_PENDING_IOS_PER_THREAD;
+
+ /* On Windows when using native aio the number of aio requests
+ that a thread can handle at a given time is limited to 32
+ i.e.: SRV_N_PENDING_IOS_PER_THREAD */
+# ifdef __WIN__
+ if (srv_use_native_aio) {
io_limit = SRV_N_PENDING_IOS_PER_THREAD;
}
+# endif /* __WIN__ */
os_aio_init(io_limit,
srv_n_read_io_threads,
Attachment: [text/bzr-bundle] bzr/inaam.rana@oracle.com-20110207235155-w1lwr15b6h03ycwf.bundle
| Thread |
|---|
| • bzr push into mysql-trunk-innodb branch (inaam.rana:3485 to 3486) Bug#59472 | Inaam Rana | 8 Feb |