All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Love <rml@tech9.net>
To: Andrew Morton <akpm@zip.com.au>
Cc: Bob McElrath <mcelrath+linux@draal.physics.wisc.edu>,
	linux-kernel@vger.kernel.org
Subject: Re: low-latency patches
Date: 06 Oct 2001 21:12:34 -0400	[thread overview]
Message-ID: <1002417157.2263.96.camel@phantasy> (raw)
In-Reply-To: <3BBEA8CF.D2A4BAA8@zip.com.au>
In-Reply-To: <20011006010519.A749@draal.physics.wisc.edu>  <3BBEA8CF.D2A4BAA8@zip.com.au>

On Sat, 2001-10-06 at 02:46, Andrew Morton wrote:
> [...]
> > My questions are:
> > 1) Which of these two projects has better latency performance?  Has anyone
> >     benchmarked them against each other?
> 
> I haven't seen any rigorous latency measurements on Rob's stuff, and
> I haven't seriously measured the reschedule-based patch for months.  But
> I would expect the preempt patch to perform significantly worse because
> it doesn't attempt to break up the abovementioned long-held locks.  (It can
> do so, though - a straightforward adaptation of the reschedule patch's
> changes will fix it).

We've gotten some great benchmarks (I originally asked all the users for
them), I would be happy to send some your way if I can dig them up.

Basically we saw average latency drop to under 5ms; 1ms in many cases. 
Worst-case latency tended to be around 50ms, but we have measured locks
(using the preempt-stats) which are still in the way-to-long range.

I think preemption is a very natural and clean solution the problem --
its the way things should just be, anyhow.

Nonetheless, running a lock-breaking patch on top of preemption is
interesting.  I am looking into doing this with the lock times I have
collected.

> > 2) Will either of these ever be merged into Linus' kernel (2.5?)
> 
> Controversial.  My vague feeling is that they shouldn't.  Here's
> why:
> 
> The great majority of users and applications really only need
> a mostly-better-than-ten-millisecond latency.  This gives good
> responsiveness for user interfaces and media streaming.  This
> can trivially be achieved with the current kernel via a thirty line
> patch (which _should_ be applied to 2.4.x.  I need to get off my
> butt).
> 
> But the next rank of applications - instrumentation, control systems,
> media production sytems, etc require 500-1000 usec latencies, and
> the group of people who require this is considerably smaller.  And their
> requirements are quite aggressive.  And maintaining that performance
> with either approach is a fair bit of work and impacts (by definition)
> the while kernel.  That's all an argument for keeping it offstream.

With preemption, we can gain the <10ms that most "regular" users want. 
Without it, we don't have it.

With preemption, we can come super close to the 0.5-1ms latency (on
average) the specialized groups list want.  With preemption and perhaps
some other work (something akin to your low-latency patch) we can
achieve it for sure ... perhaps better.

If we can achieve such great results, and keep throughput low, and do it
with such little complexity -- of course, after we prove all this -- why
not merge it?  Anyhow, its a configure option!

> [...]


	Robert Love


  parent reply	other threads:[~2001-10-07  1:12 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-06  6:05 low-latency patches Bob McElrath
2001-10-06  6:46 ` Andrew Morton
2001-10-06 16:33   ` Daniel Phillips
2001-10-06 20:42   ` Bob McElrath
2001-10-06 22:00   ` Mike Fedyk
2001-10-06 22:22     ` Robert Love
2001-10-08 12:47     ` Helge Hafting
2001-10-08 17:41       ` george anzinger
2001-10-08 18:24         ` Andrew Morton
2001-10-08 18:36           ` Alan Cox
2001-10-07  1:12   ` Robert Love [this message]
2001-10-07  2:38     ` Jeffrey W. Baker
2001-10-07  2:55       ` Robert Love
2001-10-06 22:36 ` Robert Love
2001-10-06 22:46   ` Mike Fedyk
  -- strict thread matches above, loose matches on Subject: below --
2001-10-10 15:27 David Balazic
2001-03-08 13:06 Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1002417157.2263.96.camel@phantasy \
    --to=rml@tech9.net \
    --cc=akpm@zip.com.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mcelrath+linux@draal.physics.wisc.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.