All of lore.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 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.