Re: glibc thread_stack
On Mon, Nov 29, 2004 at 11:50:20AM -0700, Sasha Pachev wrote: Hi, Hello, For a few servers with 1000 concurrent connections, I've compiled glibc 2.3.3 with a patched STACK_SIZE in linuxthreads/descr.h : #ifndef STACK_SIZE #define STACK_SIZE (128 * 1024) #endif instead of #define STACK_SIZE (2 * 1024 * 1024) This by the hints on the Documentation @ mysql.com But, now I notice: 041125 15:15:34 mysqld started 041125 15:15:34 Warning: Asked for 196608 thread stack, but got 126976 041125 15:15:35 InnoDB: Started /usr/local/mysql/libexec/mysqld: ready for connections. Is the 128K STACK_SIZE I've built glibc with too little, and should I update it to 256K ? Originally, MySQL team believed 128K was sufficient. Then some time later it was discovered that some DNS resolving routines required a 192K stack in some cases. So for safety reasons, mysqld was modified to request at least 192K stack. In your case, your modification to glibc makes it impossible for it to have a 192K stack, which is why you are getting the message. However, if you run mysqld with --skip-name-resolve (you will need to update your priv tables to use numeric addresses), glibc DNS routines are never called, so 128K should be sufficient. I see :) With MySQL 4.1.8 and higher, I need to use a stack_size of at least 256K, else MySQL segfaults (signal 11) when started. This is with gcc-3.3.5 and glibc-2.3.3. Maybe something you guys should look into this some more, since it really boosts performance :) Also, I have one other question regarding this: When building with --with-other-libc, the build automatically changes to a static build. But, when using OpenSSL, it _must be_ a dynamic build, according to the configure-script. Does anyone have a clue on howto built with a custom glibc, but also have OpenSSL-support ? I really need it :) Thanks ! Kind regards, -- WideXS http://www.widexs.nl Wouter de Jong System-Administrator Tel +31 (0)23 5698070 Fax +31 (0)23 5698099 Bijlmermeerstraat 62, 2131 HG HOOFDDORP, NL -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: glibc thread_stack
Wouter de Jong wrote: Hello, For a few servers with 1000 concurrent connections, I've compiled glibc 2.3.3 with a patched STACK_SIZE in linuxthreads/descr.h : #ifndef STACK_SIZE #define STACK_SIZE (128 * 1024) #endif instead of #define STACK_SIZE (2 * 1024 * 1024) This by the hints on the Documentation @ mysql.com But, now I notice: 041125 15:15:34 mysqld started 041125 15:15:34 Warning: Asked for 196608 thread stack, but got 126976 041125 15:15:35 InnoDB: Started /usr/local/mysql/libexec/mysqld: ready for connections. Is the 128K STACK_SIZE I've built glibc with too little, and should I update it to 256K ? Originally, MySQL team believed 128K was sufficient. Then some time later it was discovered that some DNS resolving routines required a 192K stack in some cases. So for safety reasons, mysqld was modified to request at least 192K stack. In your case, your modification to glibc makes it impossible for it to have a 192K stack, which is why you are getting the message. However, if you run mysqld with --skip-name-resolve (you will need to update your priv tables to use numeric addresses), glibc DNS routines are never called, so 128K should be sufficient. Also, with the disclaimer that I have not investigated this issue deeply, from a quick research + some memory about the incident, I believe the 192K stack requirement comes from a RedHat patch to libc, and if your version of libc does have this problem, mysqld will crash right way the moment you try to connect to it. -- Sasha Pachev Create online surveys at http://www.surveyz.com/ -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
glibc thread_stack
Hello, For a few servers with 1000 concurrent connections, I've compiled glibc 2.3.3 with a patched STACK_SIZE in linuxthreads/descr.h : #ifndef STACK_SIZE #define STACK_SIZE (128 * 1024) #endif instead of #define STACK_SIZE (2 * 1024 * 1024) This by the hints on the Documentation @ mysql.com But, now I notice: 041125 15:15:34 mysqld started 041125 15:15:34 Warning: Asked for 196608 thread stack, but got 126976 041125 15:15:35 InnoDB: Started /usr/local/mysql/libexec/mysqld: ready for connections. Is the 128K STACK_SIZE I've built glibc with too little, and should I update it to 256K ? max_connections=1500, and max_allowed_packet=25M glibc = 2.3.3 gcc = 3.4.3 mysql = 4.0.22 Please advice :) -- WideXS http://www.widexs.nl Wouter de Jong System-Administrator Tel +31 (0)23 5698070 Fax +31 (0)23 5698099 Bijlmermeerstraat 62, 2131 HG HOOFDDORP, NL -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]