linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Phillips <phillips@arcor.de>
To: Con Kolivas <kernel@kolivas.org>, Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: 2.5.74-mm1
Date: Sun, 6 Jul 2003 20:50:29 +0200	[thread overview]
Message-ID: <200307062050.29221.phillips@arcor.de> (raw)
In-Reply-To: <200307061341.31243.kernel@kolivas.org>

On Sunday 06 July 2003 05:41, Con Kolivas wrote:
> On Sun, 6 Jul 2003 03:47, Daniel Phillips wrote:
> > Not having to worry about detecting and babying along the realtime sound
> > thread should make your job considerably easier.  OK, looking at the Zinf
> > code I see that it does know about thread priority, via pthreads.  It's
> > either not working, or it's not set to sensible defaults.  I'm looking
> > into that.
>
> Well if it gets real time scheduling all that goes away.. But of course
> that would mean it needs root or equivalent user access.

We need to do something about that, apparently.  OK, in another thread it's 
been pointed out that SCHED_RR is broken for this, but nice=-something is 
still an option.

> Even the lowest
> priority real time apps get scheduled ahead of any nice priority boosted or
> interactive boosted normal scheduling apps. However I'm going to give X
> less buffer in the next version so it should get better without RT
> scheduling.
>
> WRT the other lkml threads, audio should work without skips on normal
> desktop loads without priority changes, without root privileges and without
> RT scheduling. Therefore I am still considering it a regression.

Given that my sound is now working better for me than it ever has on any 
version of Linux, I wouldn't be so fast to call it a regression.  The active 
ingredient is a priori priority assignment.  With your patch, nice=-2 gives  
solid, reliable sound playing under all conditions I've thought to try.  
Without your patch, nice=-10 is insufficient.  So you're on to something 
good, it seems.

> > Now, just so this doesn't get too easy for you, I have a nice little
> > opengl application here:
> >
> >   http://nl.linux.org/~phillips/world.tgz
> >   (3D engine - see screenshots on the same page)
> >
> > The "bounce" demo is suitable for testing how steady the framerate is.
> > It's working pretty well since 2.4.73, if you leave the window in one
> > place, but scheduling gets challenging (i.e., sucks) when you drag the 3D
> > window around. How should we fix that?  It's my code so I'm willing to
> > add whatever priority control is appropriate.
>
> I assume you're not asking for the scheduler to be tweaked for this. You
> want the 3d rendering to occur regardless of what is happening anywhere
> else?

I don't know what's required, this is just the next problem on my list after 
sound scheduling, which as far as I'm concerned isn't particularly 
interesting any more (except for the missing formal analysis) because we've 
got solutions on the table.

What I want is a reasonably steady frame rate, even when the window is being 
dragged.  After that, being greedy, I'll want a steady rate under lots of 
other challenging conditions as well.  (Note there's a tweakable option in 
the source to emit ms/frame.)

> If it doesn't use much cpu time but wakes lots then in it's current
> form the scheduler will happily put this equal sharing with everything at
> nice 0. X intermittently gets cpu hungry so will make this slow down at the
> moment during those bursts. Your app will go ahead of everything else at a
> priority of -3.

So why is -1 or -2 not sufficient?

> If it is cpu hungry, it will need at least -8 to get in on the act, and -13
> to be ahead of everyone (not really recommended though).

Being a 3D renderer, of course it's cpu hungry.  It's also a very common type 
of interactive application.  As with sound, interactive 3D applications on 
Linux should work by default, not be broken by default.  If that means fixing  
applications, so be it, let's do that to avoid going overboard with kernel 
scheduling policy.

As I noted before, your patch is small, that's great.  Now the thing is to 
really get the goodness out of it, and avoid building in too much automagic 
where it isn't appropriate.

Regards,

Daniel


  reply	other threads:[~2003-07-06 18:34 UTC|newest]

Thread overview: 147+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-03  9:37 2.5.74-mm1 Andrew Morton
2003-07-03 10:37 ` 2.5.74-mm1 Wiktor Wodecki
2003-07-03 11:06   ` 2.5.74-mm1 Russell King
2003-07-03 14:15     ` 2.5.74-mm1 Russell King
2003-07-03 16:05       ` 2.5.74-mm1 Patrick Mochel
2003-07-03 16:19         ` 2.5.74-mm1 Russell King
2003-07-03 16:24           ` 2.5.74-mm1 Patrick Mochel
2003-07-03 16:47       ` 2.5.74-mm1 Wiktor Wodecki
2003-07-03 18:43       ` 2.5.74-mm1 Serge Eric Thiam
2003-07-03 21:49       ` 2.5.74-mm1 Wiktor Wodecki
2003-07-03 21:53         ` 2.5.74-mm1 Russell King
2003-07-03 22:12           ` 2.5.74-mm1 Patrick Mochel
2003-07-03 22:14         ` 2.5.74-mm1 Russell King
2003-07-04  8:00           ` 2.5.74-mm1 Wiktor Wodecki
2003-07-03 11:27   ` pcmcia problem [was: Re: 2.5.74-mm1] Wiktor Wodecki
2003-07-03 10:45 ` 2.5.74-mm1 (p4-clockmod does not compile) Dumitru Ciobarcianu
2003-07-03 11:07   ` William Lee Irwin III
2003-07-03 11:17     ` Dumitru Ciobarcianu
2003-07-03 11:20       ` William Lee Irwin III
2003-07-03 11:32         ` 2.5.74-mm1 (p4-clockmod does not compile) PATCH Dumitru Ciobarcianu
2003-07-07  5:24         ` 2.5.74-mm1 (p4-clockmod does not compile) Zwane Mwaikambo
2003-07-07  5:47           ` William Lee Irwin III
2003-07-03 13:15 ` o1-interactivity.patch (was Re: 2.5.74-mm1) Sean Neakums
2003-07-03 13:30   ` Con Kolivas
2003-07-03 16:02 ` 2.5.74-mm1 Felipe Alfaro Solana
2003-07-03 18:11 ` 2.5.74-mm1 Pasi Savolainen
2003-07-03 20:25 ` 2.5.74-mm1 William Lee Irwin III
2003-07-03 20:48   ` 2.5.74-mm1 William Lee Irwin III
2003-07-04  8:55 ` 2.5.74-mm1 fails to boot due to APIC trouble, 2.5.73mm3 works Helge Hafting
2003-07-04  8:53   ` William Lee Irwin III
2003-07-04  9:35   ` William Lee Irwin III
2003-07-04  9:50     ` William Lee Irwin III
2003-07-04 10:02       ` William Lee Irwin III
2003-07-04 10:07         ` William Lee Irwin III
2003-07-04 11:12           ` Helge Hafting
2003-07-04 11:10             ` William Lee Irwin III
2003-07-04 12:50             ` Vincent Hanquez
2003-07-04 15:41       ` Martin J. Bligh
2003-07-04 15:47         ` Zwane Mwaikambo
2003-07-04 16:18           ` Martin J. Bligh
2003-07-04 16:16             ` Zwane Mwaikambo
2003-07-04 18:31             ` William Lee Irwin III
2003-07-04 19:20               ` Martin J. Bligh
2003-07-04 19:31                 ` William Lee Irwin III
2003-07-04 19:53                   ` Martin J. Bligh
2003-07-04 20:17                     ` William Lee Irwin III
2003-07-04 18:32             ` William Lee Irwin III
2003-07-04 18:36             ` William Lee Irwin III
2003-07-04 18:29           ` William Lee Irwin III
2003-07-04 18:26         ` William Lee Irwin III
2003-07-04 19:38           ` Martin J. Bligh
2003-07-04 20:07             ` William Lee Irwin III
2003-07-04 20:37               ` Martin J. Bligh
2003-07-04 21:07 ` 2.5.74-mm1 William Lee Irwin III
2003-07-05  1:15   ` 2.5.74-mm1 Andrew Morton
2003-07-05  5:21     ` 2.5.74-mm1 Anton Blanchard
2003-07-05 11:18       ` 2.5.74-mm1 William Lee Irwin III
2003-07-05 11:46         ` 2.5.74-mm1 William Lee Irwin III
2003-07-05 10:44     ` 2.5.74-mm1 William Lee Irwin III
2003-07-05 18:43       ` 2.5.74-mm1 Andrew Morton
2003-07-05 21:17         ` 2.5.74-mm1 William Lee Irwin III
2003-07-05 21:27           ` 2.5.74-mm1 Andrew Morton
2003-07-05 22:03             ` 2.5.74-mm1 William Lee Irwin III
2003-07-05  0:16 ` 2.5.74-mm1 Daniel Phillips
2003-07-05 15:28   ` 2.5.74-mm1 Daniel Phillips
2003-07-05 16:01     ` 2.5.74-mm1 Con Kolivas
2003-07-05 17:47       ` 2.5.74-mm1 Daniel Phillips
2003-07-06  3:41         ` 2.5.74-mm1 Con Kolivas
2003-07-06 18:50           ` Daniel Phillips [this message]
2003-07-05 19:14     ` 2.5.74-mm1 Andrew Morton
2003-07-05 21:09       ` 2.5.74-mm1 Daniel Phillips
2003-07-05 21:44         ` 2.5.74-mm1 Jamie Lokier
2003-07-05 22:10           ` 2.5.74-mm1 Daniel Phillips
2003-07-06  1:28             ` 2.5.74-mm1 Jamie Lokier
2003-07-06  2:14               ` 2.5.74-mm1 Daniel Phillips
2003-07-06  2:21                 ` 2.5.74-mm1 Davide Libenzi
2003-07-06 13:54                   ` 2.5.74-mm1 Daniel Phillips
2003-07-07 10:00                 ` 2.5.74-mm1 Mel Gorman
2003-07-07 12:24                   ` 2.5.74-mm1 Daniel Phillips
2003-07-07 13:09                     ` 2.5.74-mm1 Alex Riesen
2003-07-07 14:33                       ` 2.5.74-mm1 Daniel Phillips
2003-07-07 14:34                         ` 2.5.74-mm1 Alex Riesen
2003-07-07 13:16                     ` 2.5.74-mm1 Mel Gorman
2003-07-07 14:47                       ` 2.5.74-mm1 Davide Libenzi
2003-07-07 15:23                         ` 2.5.74-mm1 Jamie Lokier
2003-07-07 17:25                           ` 2.5.74-mm1 Davide Libenzi
2003-07-07 17:55                             ` 2.5.74-mm1 Daniel Phillips
2003-07-07 18:36                               ` 2.5.74-mm1 Davide Libenzi
2003-07-07 19:07                                 ` 2.5.74-mm1 Daniel Phillips
2003-07-07 22:03                                   ` 2.5.74-mm1 Davide Libenzi
2003-07-08  0:13                                     ` 2.5.74-mm1 Daniel Phillips
2003-07-08  0:29                                       ` 2.5.74-mm1 Davide Libenzi
2003-07-08  1:07                                         ` 2.5.74-mm1 Daniel Phillips
2003-07-08  7:48                                           ` 2.5.74-mm1 Davide Libenzi
2003-07-08  9:18                                             ` 2.5.74-mm1 Nick Piggin
2003-07-08 15:24                                               ` 2.5.74-mm1 Davide Libenzi
2003-07-09  0:36                                                 ` 2.5.74-mm1 Nick Piggin
2003-07-08 11:09                                             ` 2.5.74-mm1 Daniel Phillips
2003-07-08 18:19                                               ` 2.5.74-mm1 Davide Libenzi
2003-07-08 19:12                                                 ` 2.5.74-mm1 Davide Libenzi
2003-07-07 19:39                                 ` 2.5.74-mm1 Jamie Lokier
2003-07-07 19:36                             ` 2.5.74-mm1 Jamie Lokier
2003-07-09 22:17                               ` 2.5.74-mm1 Daniel Phillips
2003-07-09 22:24                                 ` 2.5.74-mm1 Jamie Lokier
2003-07-09 22:29                                   ` 2.5.74-mm1 Davide Libenzi
2003-07-09 23:15                                     ` 2.5.74-mm1 Daniel Phillips
2003-07-09 23:19                                       ` 2.5.74-mm1 Jamie Lokier
2003-07-09 22:59                                   ` 2.5.74-mm1 Daniel Phillips
2003-07-10  2:01                                     ` 2.5.74-mm1 Peter Chubb
2003-07-11  1:04                                       ` 2.5.74-mm1 Daniel Phillips
2003-07-11  1:08                                         ` 2.5.74-mm1 William Lee Irwin III
2003-07-11  5:44                                         ` 2.5.74-mm1 Davide Libenzi
2003-07-11  8:07                                           ` 2.5.74-mm1 Daniel Phillips
2003-07-07 15:28                         ` 2.5.74-mm1 Daniel Phillips
2003-07-07 17:58                           ` 2.5.74-mm1 Davide Libenzi
     [not found]                     ` <Pine.LNX.4.55.0307070745250.4428@bigblue.dev.mcafeelabs.co m>
2003-07-07 17:15                       ` 2.5.74-mm1 Mike Galbraith
2003-07-05 22:11         ` 2.5.74-mm1 Diego Calleja García
2003-07-05 23:31           ` 2.5.74-mm1 Daniel Phillips
2003-07-06  0:23             ` 2.5.74-mm1 Diego Calleja García
2003-07-06 22:59               ` 2.5.74-mm1 Jamie Lokier
2003-07-06  2:29           ` 2.5.74-mm1 Davide Libenzi
2003-07-06  0:10       ` 2.5.74-mm1 Daniel Phillips
2003-07-06  0:10         ` 2.5.74-mm1 Davide Libenzi
2003-07-05 19:40     ` 2.5.74-mm1 Diego Calleja García
2003-07-05 19:48       ` 2.5.74-mm1 Davide Libenzi
2003-07-05 21:22       ` 2.5.74-mm1 Daniel Phillips
2003-07-07 13:38 ` OOPS: 2.5.74-mm2 Maciej Soltysiak
2003-07-03 10:39 2.5.74-mm1 Boszormenyi Zoltan
2003-07-03 13:09 ` 2.5.74-mm1 Boszormenyi Zoltan
2003-07-03 19:22   ` 2.5.74-mm1 Andrew Morton
2003-07-03 20:08     ` 2.5.74-mm1 Helge Hafting
2003-07-03 21:15       ` 2.5.74-mm1 Andrew Morton
2003-07-04  5:53         ` 2.5.74-mm1 William Lee Irwin III
2003-07-04  7:12           ` 2.5.74-mm1 Boszormenyi Zoltan
2003-07-04  7:16             ` 2.5.74-mm1 Zwane Mwaikambo
2003-07-04  7:15           ` 2.5.74-mm1 Zwane Mwaikambo
2003-07-04  7:50             ` 2.5.74-mm1 Zwane Mwaikambo
2003-07-04  8:27             ` 2.5.74-mm1 Andrew Morton
2003-07-04  8:37               ` 2.5.74-mm1 Zwane Mwaikambo
2003-07-04  8:56                 ` 2.5.74-mm1 Andrew Morton
2003-07-04  8:57                   ` 2.5.74-mm1 William Lee Irwin III
2003-07-04  8:52               ` 2.5.74-mm1 William Lee Irwin III
2003-07-04 20:00         ` 2.5.74-mm1 Helge Hafting
2003-07-04 20:08           ` 2.5.74-mm1 William Lee Irwin III
2003-07-03 22:26       ` 2.5.74-mm1 William Lee Irwin III
2003-07-03 23:01         ` 2.5.74-mm1 Zwane Mwaikambo
2003-07-03 23:16     ` 2.5.74-mm1 William Lee Irwin III

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=200307062050.29221.phillips@arcor.de \
    --to=phillips@arcor.de \
    --cc=akpm@osdl.org \
    --cc=kernel@kolivas.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    /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;
as well as URLs for NNTP newsgroup(s).