Seems to be nothing for it except to raise DEFAULT_THREAD_STACK. Why is ppc
so much more stack-hungry than before?
This commit is contained in:
parent
ed0e45cfe8
commit
aeb5ae2bb0
@ -1,28 +1,37 @@
|
|||||||
Talk about silly byte-shaving ... the "stock" value does not work on s390x,
|
Talk about silly byte-shaving ... the "stock" value of STACK_MIN_SIZE
|
||||||
and probably not on some other platforms either. Knock it up to twice the
|
does not work on s390x, and probably not on some other platforms either.
|
||||||
pre-5.0.33 value to have some margin for future changes in compiler, glibc,
|
Knock it up to twice the pre-5.0.33 value to have some margin for future
|
||||||
etc. Suspect this number if "execution_constants" regression test fails.
|
changes in compiler, glibc, etc. Suspect this number if
|
||||||
|
"execution_constants" regression test fails.
|
||||||
|
|
||||||
As of 5.0.45 and F9, it seems 16384 isn't enough anymore (ppc fails).
|
As of 5.0.45 and F9, it seems 16384 isn't enough anymore either (ppc fails,
|
||||||
But we can't raise it too much because it has to be less than
|
and seems to now need something above 20000 --- why?). STACK_MIN_SIZE has
|
||||||
DEFAULT_THREAD_STACK / 8, and DEFAULT_THREAD_STACK is dependent on
|
to be enough less than DEFAULT_THREAD_STACK / 8 to provide some headroom,
|
||||||
SIZEOF_CHARP. (Could change DEFAULT_THREAD_STACK too if our backs are
|
which means we are now also forced to raise DEFAULT_THREAD_STACK for 32-bit
|
||||||
to the wall, but I'd rather not.)
|
arches.
|
||||||
|
|
||||||
|
|
||||||
|
diff -Naur mysql-5.0.45.orig/include/my_pthread.h mysql-5.0.45/include/my_pthread.h
|
||||||
|
--- mysql-5.0.45.orig/include/my_pthread.h 2007-07-04 09:06:05.000000000 -0400
|
||||||
|
+++ mysql-5.0.45/include/my_pthread.h 2008-01-08 14:51:39.000000000 -0500
|
||||||
|
@@ -737,7 +737,7 @@
|
||||||
|
*/
|
||||||
|
#define DEFAULT_THREAD_STACK (256*1024L)
|
||||||
|
#else
|
||||||
|
-#define DEFAULT_THREAD_STACK (192*1024)
|
||||||
|
+#define DEFAULT_THREAD_STACK (256*1024)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
diff -Naur mysql-5.0.45.orig/sql/mysql_priv.h mysql-5.0.45/sql/mysql_priv.h
|
diff -Naur mysql-5.0.45.orig/sql/mysql_priv.h mysql-5.0.45/sql/mysql_priv.h
|
||||||
--- mysql-5.0.45.orig/sql/mysql_priv.h 2007-07-04 09:06:41.000000000 -0400
|
--- mysql-5.0.45.orig/sql/mysql_priv.h 2007-07-04 09:06:41.000000000 -0400
|
||||||
+++ mysql-5.0.45/sql/mysql_priv.h 2008-01-08 13:32:45.000000000 -0500
|
+++ mysql-5.0.45/sql/mysql_priv.h 2008-01-08 14:51:55.000000000 -0500
|
||||||
@@ -173,7 +173,11 @@
|
@@ -173,7 +173,7 @@
|
||||||
Feel free to raise this by the smallest amount you can to get the
|
Feel free to raise this by the smallest amount you can to get the
|
||||||
"execution_constants" test to pass.
|
"execution_constants" test to pass.
|
||||||
*/
|
*/
|
||||||
-#define STACK_MIN_SIZE 12000 // Abort if less stack during eval.
|
-#define STACK_MIN_SIZE 12000 // Abort if less stack during eval.
|
||||||
+#if SIZEOF_CHARP > 4
|
|
||||||
+#define STACK_MIN_SIZE 24576 // Abort if less stack during eval.
|
+#define STACK_MIN_SIZE 24576 // Abort if less stack during eval.
|
||||||
+#else
|
|
||||||
+#define STACK_MIN_SIZE 20000 // Abort if less stack during eval.
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#define STACK_MIN_SIZE_FOR_OPEN 1024*80
|
#define STACK_MIN_SIZE_FOR_OPEN 1024*80
|
||||||
#define STACK_BUFF_ALLOC 352 // For stack overrun checks
|
#define STACK_BUFF_ALLOC 352 // For stack overrun checks
|
||||||
|
Loading…
Reference in New Issue
Block a user