This is the mail archive of the
glibc-linux@ricardo.ecn.wfu.edu
mailing list for the glibc project.
Re: Slow pthread_create() under high load
- To: Alan Cox <alan at lxorguk dot ukuu dot org dot uk>
- Subject: Re: Slow pthread_create() under high load
- From: sasha at mysql dot com
- Date: Sat, 25 Mar 2000 08:09:30 -0700
- CC: drepper at cygnus dot com, Kaz Kylheku <kaz at ashi dot footprints dot net>, glibc-linux at ricardo dot ecn dot wfu dot edu, linux-kernel at vger dot rutgers dot edu, mysql at lists dot mysql dot com, monty at mysql dot com
- Organization: MySQL
- References: <E12YyOa-0004CY-00@the-village.bc.nu>
- Reply-To: glibc-linux at ricardo dot ecn dot wfu dot edu
Alan Cox wrote:
>
> > If you want to see this changes get the kernel changes in place.
> > There are various patches floating around which combined will allow a
> > correct and fast implementation. But they were not added.
>
> The problem he is seeing however appears unrelated to the fact posix
> threads is a braindamaged pile of crap. Its because the scheduler penalises
> across forks as part of its fairness approach. Ingo showed that was in
> fact wrong and posted some algorithm changes for 2.3.9x
So what you are saying is that the scheduler changed after 2.3.9 to make the
forks faster under high load? Will those changes make it to 2.4 ?
Could somebody also elaborate on "the scheduler penalizes across forks" for
those who are not as familiar with the kernel internals/jargon? Does that mean
that a process that has called fork()/clone() automatically gets punished for
this great sin by getting its priority lowered?
If the above is correct, how long does the punishment last?
--
Sasha Pachev
+------------------------------------------------------------------+
| TcX ____ __ _____ _____ ___ == mysql@tcx.se |
| /*/\*\/\*\ /*/ \*\ /*/ \*\ |*| Sasha Pachev |
| /*/ /*/ /*/ \*\_ |*| |*||*| mailto:sasha@mysql.com |
| /*/ /*/ /*/\*\/*/ \*\|*| |*||*| Provo, Utah, USA |
| /*/ /*/ /*/\*\_/*/ \*\_/*/ |*|____ |
| ^^^^^^^^^^^^/*/^^^^^^^^^^^\*\^^^^^^^^^^^ |
| /*/ \*\ Developers Team |
+------------------------------------------------------------------+