Ingo Molnar wrote:[...] Well, the heuristic here is that process == job. I'm not sure heuristic is the right name for it, but it does point out a deficieny. A cpu-bound process with many threads will overwhelm a cpu-bound single threaded threaded process. A job with many processes will overwhelm a job with a single process. A user with many jobs can starve a user with a single job. I don't think the problem here is heuristics, rather that the scheduler's manages cpu quotas at the task level rather than at the user visible level. If scheduling were managed at all three hierarchies I mentioned ('job' is a bit artificial, but process and user are not) then: - if N users are contending for the cpu on a multiuser machine, each should get just 1/N of available cpu power. As it is, a user can run a few of your #1 workloads (or a make -j 20) and slow every other user down - your example would work perfectly (if we can communicate to the kernel what a job is) - multi-threaded processes would not get an unfair advantage -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. -
| Jens Axboe | Re: [BUG] New Kernel Bugs |
| Faik Uygur | Re: Linux 2.6.21-rc1 |
| Ingo Molnar | [patch 02/13] syslets: add syslet.h include file, user API/ABI definitions |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
git: | |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Jarek Poplawski | Re: Data corruption issue with splice() on 2.6.27.10 |
| Steven Rostedt | Re: -rt scheduling: wakeup bug? |
