Commit f93a60f1 authored by unknown's avatar unknown
Browse files

Merge heikki@build.mysql.com:/home/bk/mysql-4.1

into hundin.mysql.fi:/home/heikki/mysql-4.1

parents 7d0df267 bdf4d694
Loading
Loading
Loading
Loading
+13 −27
Original line number Diff line number Diff line
@@ -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
@@ -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,
@@ -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) {

+1 −1
Original line number Diff line number Diff line
@@ -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);
	}