On Thu, Nov 01, 2007 at 01:20:08PM +0100, Peter Zijlstra wrote:Peter, I fail to see why this requirement to "determine a period in which all level 1 tasks will have ran (at least) once" is essential. I am visualizing each of the groups to be similar to Xen-like partitions which are given fair timeslices by the hypervisor (Linux kernel in this case). How each partition (group in this case) manages the allocated timeslice(s) to provide fairness to tasks within that partition/group should not (IMHO) depend on other groups and esp. how many tasks other groups has. For ex: before this patch, fair time would be allocated to group and their tasks as below: A0 B0-B9 A0 B10-B19 A0 B20-B29 |--------|--------|--------|--------|--------|--------|-----//--| 0 10ms 20ms 30ms 40ms 50ms 60ms i.e during the first 10ms allocated to group B, B0-B9 run, during the next 10ms allocated to group B, B10-B19 run etc What's wrong with this scheme? By letting __sched_period() be determined for each group independently, we are building stronger isolation between them, which is good IMO (imagine a rogue container that does a fork bomb). Hmm, going back to the previous example I cited, this will lead to: sched_slice(grp A) = min(20ms, 500ms) = 20ms sched_slice(A0) = min(20ms, 500ms) = 20ms sched_slice(grp B) = min(20ms, 500ms) = 20ms sched_slice(B0) = min(20ms, 0.5ms) = 0.5ms Fairness between groups and tasks would be obtained as below: A0 B0-B39 A0 B40-B79 A0 |--------|--------|--------|--------|--------| 0 20ms 40ms 60ms 80ms which seems to be more or less giving what we already have w/o the patch? -- Regards, vatsa -
| Ingo Molnar | [bug] block subsystem related crash with latest -git |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Adrian Bunk | Re: net/ipv4/fib_trie.c - compile error (Re: 2.6.23-rc3-mm1) |
git: | |
| Gerrit Renker | [PATCH 03/37] dccp: List management for new feature negotiation |
| Jarek Poplawski | [PATCH take 2] pkt_sched: Protect gen estimators under est_lock. |
| David Miller | [GIT]: Networking |
| Natalie Protasevich | [BUG] New Kernel Bugs |
