Loading innobase/srv/srv0start.c +13 −27 Original line number Diff line number Diff line Loading @@ -1056,33 +1056,14 @@ innobase_start_or_create_for_mysql(void) return(DB_ERROR); } /* Set the maximum number of threads which can wait for a semaphore inside InnoDB */ #if defined(__WIN__) || defined(__NETWARE__) /* Create less event semaphores because Win 98/ME had difficulty creating 40000 event semaphores. Comment from Novell, Inc.: also, these just take a lot of memory on NetWare. */ srv_max_n_threads = 1000; #else if (srv_pool_size >= 8 * 1024) { /* Here we still have srv_pool_size counted in kilobytes, srv_boot converts the value to pages; if buffer pool is less than 8 MB, assume fewer threads. */ srv_max_n_threads = 10000; } else { srv_max_n_threads = 1000; /* saves several MB of memory, especially in 64-bit computers */ } #endif /* Note that the call srv_boot() also changes the values of srv_pool_size etc. to the units used by InnoDB internally */ /* Set the maximum number of threads which can wait for a semaphore inside InnoDB */ inside InnoDB: this is the 'sync wait array' size, as well as the maximum number of threads that can wait in the 'srv_conc array' for their time to enter InnoDB. */ #if defined(__WIN__) || defined(__NETWARE__) /* Create less event semaphores because Win 98/ME had difficulty creating Loading @@ -1091,11 +1072,16 @@ Comment from Novell, Inc.: also, these just take a lot of memory on NetWare. */ srv_max_n_threads = 1000; #else if (srv_pool_size >= 8 * 1024 * 1024) { if (srv_pool_size >= 1000 * 1024) { /* Here we still have srv_pool_size counted in bytes, srv_boot converts the value to pages; if buffer pool is less than 8 MB, in kilobytes (in 4.0 this was in bytes) srv_boot() converts the value to pages; if buffer pool is less than 1000 MB, assume fewer threads. */ srv_max_n_threads = 50000; } else if (srv_pool_size >= 8 * 1024) { srv_max_n_threads = 10000; } else { srv_max_n_threads = 1000; /* saves several MB of memory, Loading @@ -1103,7 +1089,7 @@ NetWare. */ computers */ } #endif err = srv_boot(); err = srv_boot(); /* This changes srv_pool_size to units of a page */ if (err != DB_SUCCESS) { Loading innobase/trx/trx0undo.c +1 −1 Original line number Diff line number Diff line Loading @@ -404,7 +404,7 @@ trx_undo_seg_create( ut_print_timestamp(stderr); fprintf(stderr, "InnoDB: Warning: cannot find a free slot for an undo log. Do you have too\n" "InnoDB: many active transactions running concurrently?"); "InnoDB: many active transactions running concurrently?\n"); return(NULL); } Loading Loading
innobase/srv/srv0start.c +13 −27 Original line number Diff line number Diff line Loading @@ -1056,33 +1056,14 @@ innobase_start_or_create_for_mysql(void) return(DB_ERROR); } /* Set the maximum number of threads which can wait for a semaphore inside InnoDB */ #if defined(__WIN__) || defined(__NETWARE__) /* Create less event semaphores because Win 98/ME had difficulty creating 40000 event semaphores. Comment from Novell, Inc.: also, these just take a lot of memory on NetWare. */ srv_max_n_threads = 1000; #else if (srv_pool_size >= 8 * 1024) { /* Here we still have srv_pool_size counted in kilobytes, srv_boot converts the value to pages; if buffer pool is less than 8 MB, assume fewer threads. */ srv_max_n_threads = 10000; } else { srv_max_n_threads = 1000; /* saves several MB of memory, especially in 64-bit computers */ } #endif /* Note that the call srv_boot() also changes the values of srv_pool_size etc. to the units used by InnoDB internally */ /* Set the maximum number of threads which can wait for a semaphore inside InnoDB */ inside InnoDB: this is the 'sync wait array' size, as well as the maximum number of threads that can wait in the 'srv_conc array' for their time to enter InnoDB. */ #if defined(__WIN__) || defined(__NETWARE__) /* Create less event semaphores because Win 98/ME had difficulty creating Loading @@ -1091,11 +1072,16 @@ Comment from Novell, Inc.: also, these just take a lot of memory on NetWare. */ srv_max_n_threads = 1000; #else if (srv_pool_size >= 8 * 1024 * 1024) { if (srv_pool_size >= 1000 * 1024) { /* Here we still have srv_pool_size counted in bytes, srv_boot converts the value to pages; if buffer pool is less than 8 MB, in kilobytes (in 4.0 this was in bytes) srv_boot() converts the value to pages; if buffer pool is less than 1000 MB, assume fewer threads. */ srv_max_n_threads = 50000; } else if (srv_pool_size >= 8 * 1024) { srv_max_n_threads = 10000; } else { srv_max_n_threads = 1000; /* saves several MB of memory, Loading @@ -1103,7 +1089,7 @@ NetWare. */ computers */ } #endif err = srv_boot(); err = srv_boot(); /* This changes srv_pool_size to units of a page */ if (err != DB_SUCCESS) { Loading
innobase/trx/trx0undo.c +1 −1 Original line number Diff line number Diff line Loading @@ -404,7 +404,7 @@ trx_undo_seg_create( ut_print_timestamp(stderr); fprintf(stderr, "InnoDB: Warning: cannot find a free slot for an undo log. Do you have too\n" "InnoDB: many active transactions running concurrently?"); "InnoDB: many active transactions running concurrently?\n"); return(NULL); } Loading