Thanks a lot for your kind and amusing explanation!
I will have a look at MySQL thread layer AND of course wait for kernel 2.6..


Chris Nolan wrote:

On Thu, 2004-01-08 at 21:10, [EMAIL PROTECTED] wrote:


Andy Bakun wrote:



On Wed, 2004-01-07 at 10:38, [EMAIL PROTECTED] wrote:




Hi all,
does anyone know if it's possible to compile MySQL under Linux so that
mysqld doesn't rely upon LinuxThreads, but makes direct call to fork()
or clone() system calls instead?




As far as I know and can tell from reading docs, Linux's pthread
implementation DOES use clone to create threads.  In most cases, pthread
is a wrapper around whatever threading services the host system
provides.



I would like that MySQL avoid calling pthread_create function, which is the wrapper around clone() provided by pthreads. I'm looking for a way to exploit clone() directly, or to deploy processes instead of threads through the fork call.







I'm looking for a way to avoid the exploitation of pthreads under
Linux.




Why wouldn't you want to use an industry standard threading model?




Just for testing purposes: I am trying to investigate the possible benefits that would come from the use of MySQL with the Migshm patch for OpenMosix, which enables threads migration, but which doesn't support pthreads presently (pthread_create call).

Any suggestions?
Thanks!




You've got a few options if I recall correctly:


1. MySQL's lower layers have a POSIX layer that takes care of things
like thread usage. You might want to look there.
2. Forget it. MySQL's architecture is designed to leverage threads and
the shared address space they require. The only thing LinuxThreads does
in addition to calling clone() when creating new "threads" involves some
minor management by the helper thread.
3. Wait for a while. Linux 2.6 includes (as does the RedHat 9.0 and
ES/WS/AS 3.0 kernels) NPTL - the Native POSIX Threads for Linux
implementation which is superior in many ways and does not use clone()
at all. As you'll no longer want to use clone() for threaded apps (trust
me on this), I'm betting that all interested parties will start
complaining in the relevant mailing lists.
4. (Dare I say it) Pick another RDBMS that uses a process-per-connection
model like that evil Oracle contraption or that funky-lookin'
elephant-promoting feature-heavy bohemeth PostgreSQL.
5. Use FoxPro, realise how lucky you are and manufacture some
contentment in running MySQL on a single machine. :-)

Hope this helps / amuses!

Regards,

Chris






--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to