Messages in this thread | | | Date | Mon, 27 Mar 2000 12:24:16 +0100 | From | "Stephen C. Tweedie" <> | Subject | Re: Slow pthread_create() under high load |
| |
Hi,
On Sat, Mar 25, 2000 at 08:09:30AM -0700, sasha@mysql.com wrote: > > > 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?
Correct. More specifically, the scheduling credits of the parent gets shared amongst the child processes.
This is part of a kernel defence mechanism, and yes, it is important to do something like this. If you don't, then a user can create a fork- bomb task which continually forks off children, and if the children and parent all keep the same credits, then it becomes essentially impossible for any other process ever to get scheduled. It is a _nasty_ denial-of-service attack, and that's why the kernel has to share the scheduling credits out when you fork.
--Stephen
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |