public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: William Lee Irwin III <wli@holomorphy.com>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Jeff Garzik <jgarzik@mandrakesoft.com>
Subject: Re: Scheduler ( was: Just a second ) ...
Date: Tue, 18 Dec 2001 10:25:26 -0800	[thread overview]
Message-ID: <20011218102526.A736@holomorphy.com> (raw)
In-Reply-To: <20011217205547.C821@holomorphy.com> <Pine.LNX.4.33.0112172153410.2416-100000@penguin.transmeta.com>
In-Reply-To: <Pine.LNX.4.33.0112172153410.2416-100000@penguin.transmeta.com>; from torvalds@transmeta.com on Mon, Dec 17, 2001 at 10:09:22PM -0800

On Mon, Dec 17, 2001 at 10:09:22PM -0800, Linus Torvalds wrote:
> Well, looking at the issue, the problem is probably not just in the sb
> driver: the soundblaster driver shares the output buffer code with a
> number of other drivers (there's some horrible "dmabuf.c" code in common).
> And yes, the dmabuf code will wake up the writer on every single DMA
> complete interrupt. Considering that you seem to have them at least 400
> times a second (and probably more, unless you've literally had sound going
> since the machine was booted), I think we know why your setup spends time
> in the scheduler.
> A number of sound drivers will use the same logic.

I've chucked the sb32 and plugged in the emu10k1 I had been planning
to install for a while, to good effect. It's not an ISA sb16, but it
apparently uses the same driver.

I'm getting an overall 1% reduction in system load, and the following
"top 5" profile:

 53374 total                                      0.0400
 11430 default_idle                             238.1250
  8820 handle_IRQ_event                          91.8750
  2186 do_softirq                                10.5096
  1984 schedule                                   1.2525
  1612 number                                     1.4816
  1473 __generic_copy_to_user                    18.4125

Oddly, I'm getting even more interrupts than I saw with the sb32...

  0:    2752924          XT-PIC  timer
  9:   14223905          XT-PIC  EMU10K1, eth1

(eth1 generates orders of magnitude fewer interrupts than the timer)

On Mon, Dec 17, 2001 at 10:09:22PM -0800, Linus Torvalds wrote:
> You may be able to change this more easily some other way, by using a
> larger fragment size for example. That's up to the sw that actually feeds
> the sound stream, so it might be your decoder that selects a small
> fragment size.
> Quite frankly I don't know the sound infrastructure well enough to make
> any more intelligent suggestions about other decoders or similar to try,
> at this point I just start blathering.

Already more insight into the problem I was experiencing than I had
before, and I must confess to those such as myself this lead certainly
seems "plucked out of the air". Good work! =)

On Mon, Dec 17, 2001 at 10:09:22PM -0800, Linus Torvalds wrote:
> But yes, I bet you'll also see much less impact of this if you were to
> switch to more modern hardware.

I hear from elsewhere the emu10k1 has a bad reputation as source of
excessive interrupts. Looks like I bought the wrong sound card(s).
Maybe I should go shopping. =)


Thanks a bunch!
Bill

  parent reply	other threads:[~2001-12-18 18:25 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20011217200946.D753@holomorphy.com>
2001-12-18  4:27 ` Scheduler ( was: Just a second ) Linus Torvalds
2001-12-18  4:55   ` William Lee Irwin III
2001-12-18  6:09     ` Linus Torvalds
2001-12-18  6:34       ` Jeff Garzik
2001-12-18 12:23       ` Rik van Riel
2001-12-18 14:29       ` Alan Cox
2001-12-18 17:07         ` Linus Torvalds
2001-12-18 15:51       ` Martin Josefsson
2001-12-18 17:08         ` Linus Torvalds
2001-12-18 16:16       ` Roger Larsson
2001-12-18 17:16         ` Herman Oosthuysen
2001-12-18 17:16         ` Linus Torvalds
2001-12-18 17:21       ` David Mansfield
2001-12-18 17:27         ` Linus Torvalds
2001-12-18 17:54           ` Andreas Dilger
2001-12-18 18:27             ` Doug Ledford
2001-12-18 18:52               ` Andreas Dilger
2001-12-18 19:03                 ` Doug Ledford
2001-12-19  9:19               ` Peter Wächtler
2001-12-19 11:05               ` Helge Hafting
2001-12-21 20:23               ` Rob Landley
2001-12-18 18:35             ` Linus Torvalds
2001-12-18 18:58           ` Alan Cox
2001-12-18 19:31             ` Gerd Knorr
2001-12-18 18:25       ` William Lee Irwin III [this message]
2001-12-18 14:21     ` Adam Schrotenboer
2001-12-18 18:13   ` Davide Libenzi
     [not found] <Pine.LNX.4.33.0112181508001.3410-100000@penguin.transmeta.com>
2001-12-20  3:50 ` Rik van Riel
2001-12-20  4:04   ` Ryan Cumming
2001-12-20  5:39   ` David S. Miller
2001-12-20  5:58     ` Linus Torvalds
2001-12-20  6:01       ` David S. Miller
2001-12-20 22:40         ` Troels Walsted Hansen
2001-12-20 23:55           ` Chris Ricker
2001-12-20 23:59             ` CaT
2001-12-21  0:06             ` Davide Libenzi
2001-12-20 11:29     ` Rik van Riel
2001-12-20 11:34       ` David S. Miller
2001-12-20  5:52   ` Linus Torvalds
     [not found] <20011218020456.A11541@redhat.com>
2001-12-18 16:50 ` Linus Torvalds
2001-12-18 16:56   ` Rik van Riel
2001-12-18 17:18     ` Linus Torvalds
2001-12-18 19:04       ` Alan Cox
2001-12-18 21:02         ` Larry McVoy
2001-12-18 21:14           ` David S. Miller
2001-12-18 21:17             ` Larry McVoy
2001-12-18 21:19               ` Rik van Riel
2001-12-18 21:30               ` David S. Miller
2001-12-18 21:18           ` Rik van Riel
2001-12-19 16:50         ` Daniel Phillips
2001-12-18 19:11       ` Mike Galbraith
2001-12-18 19:15       ` Rik van Riel
2001-12-18 17:55   ` Davide Libenzi
2001-12-18 19:43   ` Alexander Viro
2001-12-18  5:59 V Ganesh
  -- strict thread matches above, loose matches on Subject: below --
2001-12-18  5:11 Thierry Forveille
2001-12-17 21:41 ` John Heil
2001-12-18 14:31 ` Alan Cox
2001-12-16  0:13 Just a second Linus Torvalds
2001-12-17 22:48 ` Scheduler ( was: Just a second ) Davide Libenzi
2001-12-17 22:53   ` Linus Torvalds
2001-12-17 23:15     ` Davide Libenzi
2001-12-17 23:18       ` Linus Torvalds
2001-12-17 23:39         ` Davide Libenzi
2001-12-17 23:52         ` Benjamin LaHaise
2001-12-18  1:11           ` Linus Torvalds
2001-12-18  1:46             ` H. Peter Anvin
2001-12-18  5:54             ` Benjamin LaHaise
2001-12-18  6:10               ` Linus Torvalds
2001-12-18  1:54     ` Rik van Riel
2001-12-18  2:35       ` Linus Torvalds
2001-12-18  2:51         ` David Lang
2001-12-18  3:08         ` Davide Libenzi
2001-12-18  3:19           ` Davide Libenzi
2001-12-18 14:09         ` Alan Cox
2001-12-18  9:12           ` John Heil
2001-12-18 15:34           ` degger
2001-12-18 18:35             ` Mike Kravetz
2001-12-18 18:48             ` Davide Libenzi
2001-12-18 16:50           ` Mike Kravetz
2001-12-18 17:22             ` Linus Torvalds
2001-12-18 17:50               ` Davide Libenzi
2001-12-18 17:00           ` Linus Torvalds
2001-12-18 19:17             ` Alan Cox

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=20011218102526.A736@holomorphy.com \
    --to=wli@holomorphy.com \
    --cc=jgarzik@mandrakesoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.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