Thread (35 messages) 35 messages, 12 authors, 2003-06-12

Re: 2.5.70-mm6

From: William Lee Irwin III <hidden>
Date: 2003-06-10 19:00:35
Also in: lkml

At 04:41 AM 6/10/2003 -0700, William Lee Irwin III wrote:
quoted
\vomit{Next you'll be telling me worse is better.}
On Tue, Jun 10, 2003 at 08:53:51PM +0200, Mike Galbraith wrote:
That's an unearned criticism.
Timeslice management is currently an approximation.  IFF the approximation 
is good enough, it will/must out perform pedantic bean-counting.  Current 
timeslice management apparently isn't quite good enough, so I'm trying to 
find a way to increase it's informational content without the (in general 
case useless) overhead of attempted perfection.  I'm failing miserably btw 
;-)
The criticism was of the maxim invoked, not the specific direction
you're hacking in.


At 04:41 AM 6/10/2003 -0700, William Lee Irwin III wrote:
quoted
The issue is the driver returning garbage; not having as good of
precision from hardware is no fault of the method. I'd say timer_pit
should just return jiffies converted to nanoseconds.
On Tue, Jun 10, 2003 at 08:53:51PM +0200, Mike Galbraith wrote:
That's the option that I figured was April 1 material, because of the 
missing precision.  If it could be made (somehow that I don't understand) 
to produce a reasonable approximation of a high resolution clock, sure.
If there's a TSC, it can be used for extra interpolation. But I think
timer_tsc already does that. I don't think it's quite so laughable; the
machines missing reliable time sources are truly crippled in some way,
by obsolescence or misdesign. I wouldn't call this a deficit. The
major platforms will do fine, and the rest will do no worse than now
apart from perhaps some function call and arithmetic overhead.


At 04:41 AM 6/10/2003 -0700, William Lee Irwin III wrote:
quoted
Also, I posted the "thud" fix earlier in this thread in addition to the
monotonic_clock() bits. AFAICT it mitigates (or perhaps even fixes) an
infinite priority escalation scenario.
On Tue, Jun 10, 2003 at 08:53:51PM +0200, Mike Galbraith wrote:
(yes, mitigates... maybe cures with round down, not really sure)
Couple that change with reintroduction of backboost to offset some of it's 
other effects and a serious reduction of CHILD_PENALTY and you'll have a 
very snappy desktop.  However, there is another side of the 
equation.  Large instantaneous variance in sleep_avg/prio also enables the 
scheduler to react quickly such that tasks which were delayed for whatever 
reason rapidly get a chance collect their ticks and catch up.  It can and 
does cause perceived unfairness... which is in reality quite fair.  It's 
horrible for short period concurrency, but great for long period 
throughput.  AFAIKT, it's a hard problem.
I don't know that there are answers better than mitigation.

I propose we err on the other side of the fence and back off as cases
where the larger instantaneous variances are more clearly needed arise.


-- wli
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help