mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Matt Mackall <mpm@selenic.com>
Cc: Chris Wright <chrisw@osdl.org>,
	"Jack O'Quin" <jack.oquin@gmail.com>,
	Andrew Morton <akpm@osdl.org>,
	Christoph Hellwig <hch@infradead.org>,
	linux-kernel@vger.kernel.org,
	Paul Davis <paul@linuxaudiosystems.com>,
	Con Kolivas <kernel@kolivas.org>,
	rlrevell@joe-job.com
Subject: Re: 2.6.11-rc3-mm2
Date: Fri, 11 Feb 2005 09:14:22 +0100	[thread overview]
Message-ID: <20050211081422.GB2287@elte.hu> (raw)
In-Reply-To: <20050211020956.GC15058@waste.org>


* Matt Mackall <mpm@selenic.com> wrote:

> > > What happened to the RT rlimit code from Chris?
> > 
> > I still have it, but I had the impression Ingo didn't like it as a long
> > term solution/hack (albeit small) to the scheduler.  Whereas the rt-lsm
> > patch is wholly self-contained.
> 
> I think it's important to recognize that we're trying to address an
> issue that has a much wider potential audience than pro audio users,
> and not very far off - what is high end audio performance today will
> be expected desktop performance next year.

i disagree that desktop performance tomorrow will necessarily have to
utilize SCHED_FIFO. Today's desktop audio applications perform quite
good at SCHED_NORMAL priorities [with the 2.6.11 kernel that has more
interactivity/latency fixes such as PREEMPT_BKL].

I agree (and hope) that tomorrow's "stock" desktop will be based on
today's pro audio architectures, but tomorrows CPUs will be much faster
and tomorrows desktop apps dont want to spend 30%+ CPU time on creating
audio.

the pro applications will always want to have a 100% guarantee (it
really sucks to generate a nasty audio click during a live performance)
and want to utilize as much CPU time for audio as needed. They are also
clearly the most complex creators of audio so they go far above the
normal (and reasonable) CPU-use/latency expectations and tradeoffs of
the stock scheduler.

> So I think it's critical that we find solution that's appropriate for
> _every single box_, because realistically vendors are going to ship
> with this "wholly self-contained" feature turned on by default next
> year, at which point the "containment" will be nil and whatever warts
> it has will be with us forever.

an "RT priorities rlimit" is still not adequate as a desktop solution,
because it still allows the box to be locked up. Also, if it turns out
to be a mistake then it's already codified into the ABI, while RT-LSM is
much less 'persistent' and could be replaced much easier. RT-LSM is also
more flexible and more practical. (an rlimit needs changes across a
number of userspace components, delaying its adoptation.)

> The rlimit stuff is not perfect, but it's a much better fit for the
> UNIX model generally, which is a fairly big win. [...]

a 'locked up box' is as far away from the UNIX model as it gets.

perhaps, if the need arises, we can add the RT-throttling sysctl (which
still wont give RT priorities to unprivileged users and would serve as a
way to throttle privileged RT tasks), which could thus make the RT-LSM
solution pretty safe. Right now Jack has its own watchdog thread which
should solve most of the lockup situations.  Lets not overdesign the
solution, especially when we dont yet know how the problem really looks
like.

or an even simpler solution for the lockup problem would be a
kernel-based RT watchdog. In fact 2.6.11-rc3-mm2 already includes such a
watchdog (written by yours truly):

 http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.11-rc3/2.6.11-rc3-mm2/broken-out/detect-soft-lockups.patch

right now softlockup-detect runs at SCHED_FIFO prio 99 and only prints a
warning - but it could easily run at SCHED_FIFO prio 1 [to detect
lockups generated by all RT tasks] and it could actively try to renice
(or kill) tasks that run for too long. So very likely there will be an
easy upstream mechanism for any problem that could arise out of RT-LSM.

	Ingo

  parent reply	other threads:[~2005-02-11  8:15 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-10 20:51 2.6.11-rc3-mm2 Jack O'Quin
2005-02-11  0:04 ` 2.6.11-rc3-mm2 Matt Mackall
2005-02-11  0:47   ` 2.6.11-rc3-mm2 Chris Wright
2005-02-11  2:09     ` 2.6.11-rc3-mm2 Matt Mackall
2005-02-11  2:22       ` 2.6.11-rc3-mm2 Nick Piggin
2005-02-11  3:26         ` 2.6.11-rc3-mm2 Peter Williams
2005-02-11  3:41           ` 2.6.11-rc3-mm2 Paul Davis
2005-02-11  5:04             ` 2.6.11-rc3-mm2 Nick Piggin
2005-02-11  6:34               ` 2.6.11-rc3-mm2 Peter Williams
2005-02-11  6:42                 ` 2.6.11-rc3-mm2 Nick Piggin
2005-02-11  5:09             ` 2.6.11-rc3-mm2 Peter Williams
2005-02-11  6:57             ` 2.6.11-rc3-mm2 Matt Mackall
2005-02-11  7:54               ` 2.6.11-rc3-mm2 Ingo Molnar
2005-02-11  8:25                 ` 2.6.11-rc3-mm2 Matt Mackall
2005-02-11  8:48                   ` 2.6.11-rc3-mm2 Ingo Molnar
2005-02-11  8:58                     ` 2.6.11-rc3-mm2 Matt Mackall
2005-02-11  9:01                       ` 2.6.11-rc3-mm2 Ingo Molnar
2005-02-11  9:04                   ` 2.6.11-rc3-mm2 Ingo Molnar
2005-02-11  9:27                     ` 2.6.11-rc3-mm2 Matt Mackall
2005-02-11 17:49                   ` 2.6.11-rc3-mm2 Paul Davis
2005-02-11 19:42                     ` 2.6.11-rc3-mm2 Matt Mackall
2005-02-11 19:57                       ` 2.6.11-rc3-mm2 Lee Revell
2005-02-11  8:14       ` Ingo Molnar [this message]
2005-02-11  8:22         ` 2.6.11-rc3-mm2 Christoph Hellwig
2005-02-11  8:41         ` 2.6.11-rc3-mm2 Matt Mackall
2005-02-11  8:59           ` 2.6.11-rc3-mm2 Ingo Molnar
2005-02-11  9:40             ` 2.6.11-rc3-mm2 Matt Mackall
2005-02-11  9:53               ` 2.6.11-rc3-mm2 Ingo Molnar
2005-02-11 17:37                 ` 2.6.11-rc3-mm2 Matt Mackall
2005-02-11 17:49                   ` 2.6.11-rc3-mm2 Ingo Molnar
2005-02-11 20:10                     ` 2.6.11-rc3-mm2 Matt Mackall
2005-02-11 17:45           ` 2.6.11-rc3-mm2 Paul Davis
2005-02-14  5:21         ` 2.6.11-rc3-mm2 Werner Almesberger
  -- strict thread matches above, loose matches on Subject: below --
2005-02-10 10:35 2.6.11-rc3-mm2 Andrew Morton
2005-02-10 13:35 ` 2.6.11-rc3-mm2 Christoph Hellwig
2005-02-10 20:01   ` 2.6.11-rc3-mm2 Andrew Morton
2005-02-12 22:43   ` 2.6.11-rc3-mm2 Olaf Dietsche
2005-02-10 22:13 ` 2.6.11-rc3-mm2 Corey Minyard
2005-02-10 22:42 ` 2.6.11-rc3-mm2 Benjamin Herrenschmidt
2005-02-10 23:02   ` 2.6.11-rc3-mm2 Andrew Morton
2005-02-10 23:31     ` 2.6.11-rc3-mm2 Benjamin Herrenschmidt
2005-02-10 23:17 ` 2.6.11-rc3-mm2 Adrian Bunk
2005-02-11 16:29 ` 2.6.11-rc3-mm2 Yuval Tanny
2005-02-12 14:53   ` 2.6.11-rc3-mm2 Henning Rohde
2005-02-14 13:22 ` 2.6.11-rc3-mm2 Stefano Rivoir

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=20050211081422.GB2287@elte.hu \
    --to=mingo@elte.hu \
    --cc=akpm@osdl.org \
    --cc=chrisw@osdl.org \
    --cc=hch@infradead.org \
    --cc=jack.oquin@gmail.com \
    --cc=kernel@kolivas.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpm@selenic.com \
    --cc=paul@linuxaudiosystems.com \
    --cc=rlrevell@joe-job.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®