William Lee Irwin III wrote: >> The sorts of like explicit decisions I'd like to be made for these are: >> (1) In a mixture of tasks with varying nice numbers, a given nice number >> corresponds to some share of CPU bandwidth. Implementations >> should not have the freedom to change this arbitrarily according >> to some intention.
On Mon, Apr 16, 2007 at 09:55:14AM -0600, Chris Friesen wrote: > The first question that comes to my mind is whether nice levels should > be linear or not. I would lean towards nonlinear as it allows a wider > range (although of course at the expense of precision). Maybe something > like "each nice level gives X times the cpu of the previous"? I think a > value of X somewhere between 1.15 and 1.25 might be reasonable. > What about also having something that looks at latency, and how latency > changes with niceness? > What about specifying the timeframe over which the cpu bandwidth is > measured? I currently have a system where the application designers > would like it to be totally fair over a period of 1 second. As you can > imagine, mainline doesn't do very well in this case. It's unclear how latency enters the picture as the semantics of nice levels relevant to such are essentially priority preemption, which is not particularly easy to mess up. I suppose tests to ensure priority preemption occurs properly are in order. I don't really have a preference regarding specific semantics for nice numbers, just that they should be deterministic and specified somewhere. It's not really for us to decide what those semantics are as it's more of a userspace ABI/API issue. The timeframe is also relevant, but I suspect it's more of a performance metric than a strict requirement. -- wli - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/