2001-11-02 01:10:11

by Benjamin LaHaise

[permalink] [raw]
Subject: emu10k emits buzzing and crackling

Hey folks,

One of the workstations I use really doesn't like the emu10k driver in
2.4.13-ac5. The box is a dual athlon running rh7.2. Playing mp3s seems
to work well, but other samples from xfce on shutdown and window close
result in buzzing and popping noises. If anyone wants details or patches
tested, drop me a note.

-ben

es1371: version v0.30 time 17:42:30 Nov 1 2001
Creative EMU10K1 PCI Audio Driver, version 0.16, 17:42:24 Nov 1 2001
emu10k1: EMU10K1 rev 7 model 0x8040 found, IO at 0x2400-0x241f, IRQ 19
ac97_codec: AC97 Audio codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23)
usb.c: registered new driver hub


2001-11-02 08:19:31

by Kwijibo

[permalink] [raw]
Subject: Re: emu10k emits buzzing and crackling

You may want to try the cvs version, but I thought they were pretty close
to being in sync. I have the same setup as you(dual Athlon, RH7.2) and
I haven't seen any problems as of yet.

Steven

Benjamin LaHaise wrote:

>Hey folks,
>
>One of the workstations I use really doesn't like the emu10k driver in
>2.4.13-ac5. The box is a dual athlon running rh7.2. Playing mp3s seems
>to work well, but other samples from xfce on shutdown and window close
>result in buzzing and popping noises. If anyone wants details or patches
>tested, drop me a note.
>
> -ben
>
>es1371: version v0.30 time 17:42:30 Nov 1 2001
>Creative EMU10K1 PCI Audio Driver, version 0.16, 17:42:24 Nov 1 2001
>emu10k1: EMU10K1 rev 7 model 0x8040 found, IO at 0x2400-0x241f, IRQ 19
>ac97_codec: AC97 Audio codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23)
>usb.c: registered new driver hub
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>
>



2001-11-02 10:07:30

by Morgan Collins

[permalink] [raw]
Subject: Re: emu10k emits buzzing and crackling

> You may want to try the cvs version, but I thought they were pretty close to being in
> sync. I have the same setup as you(dual Athlon, RH7.2) and I haven't seen any
> problems as of yet.
>
> Steven
>
> Benjamin LaHaise wrote:
>
>>Hey folks,
>>
>>One of the workstations I use really doesn't like the emu10k driver in 2.4.13-ac5.
>>The box is a dual athlon running rh7.2. Playing mp3s seems to work well, but other
>>samples from xfce on shutdown and window close result in buzzing and popping noises.
>> If anyone wants details or patches tested, drop me a note.
>>
>>
-ben
>>
>>es1371: version v0.30 time 17:42:30 Nov 1 2001
>>Creative EMU10K1 PCI Audio Driver, version 0.16, 17:42:24 Nov 1 2001 emu10k1:
>>EMU10K1 rev 7 model 0x8040 found, IO at 0x2400-0x241f, IRQ 19 ac97_codec: AC97 Audio
>>codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23) usb.c: registered new driver hub
>>-
>>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body
>>of a message to [email protected]
>>More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the
>>FAQ at http://www.tux.org/lkml/
>>
I've also experianced this with 2.4.13+preempt. As ben said, playing single large files
works fine, but when playing short files or using esd for short bursts of sound, I often
get popping noises.

I'll give the cvs version a try and report back.

--
Morgan Collins [Ax0n] http://sirmorcant.morcant.org
Software is something like a machine, and something like mathematics, and something like
language, and something like thought, and art, and information.... but software is not in
fact any of those other things.

2001-11-02 14:52:17

by Paul Fulghum

[permalink] [raw]
Subject: Re: emu10k emits buzzing and crackling

>One of the workstations I use really doesn't like the emu10k driver in
>2.4.13-ac5. The box is a dual athlon running rh7.2. Playing mp3s seems
>to work well, but other samples from xfce on shutdown and window close
>result in buzzing and popping noises. If anyone wants details or patches
>tested, drop me a note.

I'm seeing something similar on RH7.2 with the emu10K driver.
Except XMMS and the cd player result in nothing but noise, but
the window manager events sound fine. The volume of noise
from XMMS/CD player can be controlled by the mixer.

Machine is a dual P3-450, GX chip set.

I saw this with both the base RH7.2 kernel and the latest RH
kernel (2.4.9-??). RH 7.1 worked fine on the same hardware.
I tried playing with mixer settings and IRQ settings with no difference.

Paul Fulghum, [email protected]
Microgate Corporation, http://www.microgate.com

2001-11-02 14:57:57

by Benjamin LaHaise

[permalink] [raw]
Subject: Re: emu10k emits buzzing and crackling

On Fri, Nov 02, 2001 at 08:52:03AM -0600, Paul Fulghum wrote:
> I'm seeing something similar on RH7.2 with the emu10K driver.
> Except XMMS and the cd player result in nothing but noise, but
> the window manager events sound fine. The volume of noise
> from XMMS/CD player can be controlled by the mixer.

That's very interesting as the driver shipped with rh7.2 works fine on
my card. Are they different revisions of the card? Could you post your
startup logs for the driver -- perhaps we can find some pattern to this
and make some kind of quirks mapping.

-ben
--
Fish.

2001-11-03 00:55:36

by Kwijibo

[permalink] [raw]
Subject: Re: emu10k emits buzzing and crackling

Here is my startup:

Creative EMU10K1 PCI Audio Driver, version 0.16, 14:36:54 Oct 27 2001
emu10k1: EMU10K1 rev 4 model 0x21 found, IO at 0x1c00-0x1c1f, IRQ 16
ac97_codec: AC97 codec, id: 0x5452:0x4103 (TriTech TR28023)

I should also mention this is kernel 2.4.13 with the latest cvs emu10k1
driver.
I have no problems with it.

Benjamin LaHaise wrote:

>On Fri, Nov 02, 2001 at 08:52:03AM -0600, Paul Fulghum wrote:
>
>>I'm seeing something similar on RH7.2 with the emu10K driver.
>>Except XMMS and the cd player result in nothing but noise, but
>>the window manager events sound fine. The volume of noise
>>from XMMS/CD player can be controlled by the mixer.
>>
>
>That's very interesting as the driver shipped with rh7.2 works fine on
>my card. Are they different revisions of the card? Could you post your
>startup logs for the driver -- perhaps we can find some pattern to this
>and make some kind of quirks mapping.
>
> -ben
>



2001-11-04 16:39:46

by Rui Sousa

[permalink] [raw]
Subject: Re: emu10k emits buzzing and crackling

On Thu, 1 Nov 2001, Benjamin LaHaise wrote:

> Hey folks,
>
> One of the workstations I use really doesn't like the emu10k driver in
> 2.4.13-ac5. The box is a dual athlon running rh7.2. Playing mp3s seems
> to work well, but other samples from xfce on shutdown and window close
> result in buzzing and popping noises.

Which program is used to play these?

Rui Sousa

> If anyone wants details or patches
> tested, drop me a note.
>
> -ben
>
> es1371: version v0.30 time 17:42:30 Nov 1 2001
> Creative EMU10K1 PCI Audio Driver, version 0.16, 17:42:24 Nov 1 2001
> emu10k1: EMU10K1 rev 7 model 0x8040 found, IO at 0x2400-0x241f, IRQ 19
> ac97_codec: AC97 Audio codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23)
> usb.c: registered new driver hub
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

2001-11-04 16:49:46

by Rui Sousa

[permalink] [raw]
Subject: Re: emu10k emits buzzing and crackling

On Fri, 2 Nov 2001, Morgan Collins [Ax0n] wrote:

> > You may want to try the cvs version, but I thought they were pretty close to being in
> > sync. I have the same setup as you(dual Athlon, RH7.2) and I haven't seen any
> > problems as of yet.
> >
> > Steven
> >
> > Benjamin LaHaise wrote:
> >
> >>Hey folks,
> >>
> >>One of the workstations I use really doesn't like the emu10k driver in 2.4.13-ac5.
> >>The box is a dual athlon running rh7.2. Playing mp3s seems to work well, but other
> >>samples from xfce on shutdown and window close result in buzzing and popping noises.
> >> If anyone wants details or patches tested, drop me a note.
> >>
> >>
> -ben
> >>
> >>es1371: version v0.30 time 17:42:30 Nov 1 2001
> >>Creative EMU10K1 PCI Audio Driver, version 0.16, 17:42:24 Nov 1 2001 emu10k1:
> >>EMU10K1 rev 7 model 0x8040 found, IO at 0x2400-0x241f, IRQ 19 ac97_codec: AC97 Audio
> >>codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23) usb.c: registered new driver hub
> >>-
> >>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body
> >>of a message to [email protected]
> >>More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the
> >>FAQ at http://www.tux.org/lkml/
> >>
> I've also experianced this with 2.4.13+preempt. As ben said, playing single large files
> works fine, but when playing short files or using esd for short bursts of sound,

With the emu10k1 there is no need to use esd...

> I often
> get popping noises.

The current emu10k1 driver uses a hardware clock to generate periodic
interrupts. These apparently ran at the wrong rate in some Alpha machines.
It's possible that the same problem occur now with more recent i386
machines.

Rui Sousa

>
> I'll give the cvs version a try and report back.
>
>

2001-11-04 16:55:26

by Jeff Garzik

[permalink] [raw]
Subject: Re: emu10k emits buzzing and crackling

Rui Sousa wrote:
> With the emu10k1 there is no need to use esd...

emu10k1 provides in-kernel support for multiple userspace apps sharing a
single /dev/dsp0 connection? :)

GNOME pretty much requires esd, like KDE requires arts.

--
Jeff Garzik | Only so many songs can be sung
Building 1024 | with two lips, two lungs, and one tongue.
MandrakeSoft | - nomeansno

2001-11-04 17:00:06

by Alan

[permalink] [raw]
Subject: Re: emu10k emits buzzing and crackling

> emu10k1 provides in-kernel support for multiple userspace apps sharing a
> single /dev/dsp0 connection? :)

The hardware has something like 512 channels. esd sadly wont make sensible
use of this. I'm not sure if Arts will

> GNOME pretty much requires esd, like KDE requires arts.

Expect gnome to be using arts soon

2001-11-04 17:19:19

by Rui Sousa

[permalink] [raw]
Subject: Re: emu10k emits buzzing and crackling

On Sun, 4 Nov 2001, Jeff Garzik wrote:

> Rui Sousa wrote:
> > With the emu10k1 there is no need to use esd...
>
> emu10k1 provides in-kernel support for multiple userspace apps sharing a
> single /dev/dsp0 connection? :)

Yes. :) :)

>
> GNOME pretty much requires esd, like KDE requires arts.

For most common sound cards. Not when you can have 32 independent stereo
sound streams.

Rui

2001-11-04 17:23:28

by Alan

[permalink] [raw]
Subject: Re: emu10k emits buzzing and crackling

> > GNOME pretty much requires esd, like KDE requires arts.
>
> For most common sound cards. Not when you can have 32 independent stereo
> sound streams.

You still need esd/arts. You can't play remote audio otherwise.

2001-11-04 17:33:08

by Alex Buell

[permalink] [raw]
Subject: Re: emu10k emits buzzing and crackling

On Sun, 4 Nov 2001, Alan Cox wrote:

> > > GNOME pretty much requires esd, like KDE requires arts.
> >
> > For most common sound cards. Not when you can have 32 independent stereo
> > sound streams.
>
> You still need esd/arts. You can't play remote audio otherwise.

Oddly enough whilst looking for updated esound sources, I came across
Advanced Sound Daemon (asd), on freshmeat.net. It's said to be esound on
steroids, capable of multiple input and outputs.

--
Come the revolution, humourless gits'll be first up against the wall.

http://www.tahallah.demon.co.uk

2001-11-09 21:35:15

by Daniel Ceregatti

[permalink] [raw]
Subject: Re: emu10k emits buzzing and crackling

Benjamin LaHaise wrote:

> Hey folks,
>
> One of the workstations I use really doesn't like the emu10k driver in
> 2.4.13-ac5. The box is a dual athlon running rh7.2. Playing mp3s seems
> to work well, but other samples from xfce on shutdown and window close
> result in buzzing and popping noises. If anyone wants details or patches
> tested, drop me a note.
>
> -ben
>
> es1371: version v0.30 time 17:42:30 Nov 1 2001
> Creative EMU10K1 PCI Audio Driver, version 0.16, 17:42:24 Nov 1 2001
> emu10k1: EMU10K1 rev 7 model 0x8040 found, IO at 0x2400-0x241f, IRQ 19
> ac97_codec: AC97 Audio codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23)
> usb.c: registered new driver hub

I have the same problem. It started when I applied Gerd Knorr's V4L2
patches for bttv 0.8.x in 2.4.12. If I reverted back to the vanilla
2.4.12 kernel, all was fine.

This then became a problem in vanilla 2.4.13. It doesn't happen with all
apps, just apps that play small wav files (like "play"). Quake3 and xmms
don't have any issues.

I've tried the drivers on opensource.creative.com, but they haven't
helped. I'm now using the V4L2 patches for 2.4.13, and the problem is
still there.

Here's my driver info:

Creative EMU10K1 PCI Audio Driver, version 0.16, 23:24:09 Nov 5 2001
PCI: Found IRQ 7 for device 00:0c.0
PCI: Sharing IRQ 7 with 00:07.2
emu10k1: EMU10K1 rev 8 model 0x8027 found, IO at 0xe400-0xe41f, IRQ 7
ac97_codec: AC97 codec, id: 0x5452:0x4123 (TriTech TR?????)

Please CC any response to [email protected], as I'm not on the list.

Thanks,

Daniel Ceregatti

2001-12-09 22:03:15

by Zlatko Calusic

[permalink] [raw]
Subject: emu10k1 - interrupt storm?

Rui Sousa <[email protected]> writes:
>
> The current emu10k1 driver uses a hardware clock to generate periodic
> interrupts. These apparently ran at the wrong rate in some Alpha machines.
> It's possible that the same problem occur now with more recent i386
> machines.
>

Hi!

Sorry to quote a really old email. :)

I'm currently investigating why is my emu10k1 doing so much
interrupts. They are so frequent that they usually show on a kernel
profile report on the top, no matter what I've been doing with the
poor machine (interrupts are there even if I'm not using my
Soundblaster live).

Kernel is the most recent 2.5.x. dmesg says:

Creative EMU10K1 PCI Audio Driver, version 0.16, 16:17:32 Dec 9 2001
emu10k1: EMU10K1 rev 6 model 0x8027 found, IO at 0xc400-0xc41f, IRQ 10
ac97_codec: AC97 Audio codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23)

This is my /proc/interrupts:

CPU0 CPU1
0: 423348 425806 IO-APIC-edge timer
1: 13674 13371 IO-APIC-edge keyboard
2: 0 0 XT-PIC cascade
8: 2 1 IO-APIC-edge rtc
10: 5956299 5956064 IO-APIC-level EMU10K1 <===========
11: 19803 20033 IO-APIC-level ide2
12: 104203 101822 IO-APIC-edge PS/2 Mouse
14: 4356 4285 IO-APIC-edge ide0
15: 7 9 IO-APIC-edge ide1
NMI: 0 0
LOC: 849167 849165
ERR: 2
MIS: 0

Yes, this is a SMP machine, but I don't know why would that make any
difference. As you can see, number of emu10k1 interrupts is enormous
(I also tried noapic, no changes).

procinfo -d quickly shows that emu10k1 is generating ~1412 interrupts
per second (7060/2).

irq 0: 500 timer irq 10: 7060 EMU10K1
irq 1: 1 keyboard irq 11: 10 ide2
irq 2: 0 cascade [4] irq 12: 164 PS/2 Mouse
irq 3: 0 irq 14: 2 ide0
irq 4: 0 irq 15: 0 ide1
irq 8: 0 rtc

Is that the periodic hardware interrupt you're talking about, and why
are there so many interrupts? Is there a way to stop that storm?

Regards,
--
Zlatko

2001-12-10 10:41:56

by Rui Sousa

[permalink] [raw]
Subject: Re: emu10k1 - interrupt storm?

On 9 Dec 2001, Zlatko Calusic wrote:

The emu10k1 only generates interrupts when playing pcm sound.
The interrupt rate depends on the "fragment" size and is usually
smaller than ~1000interrupts/s (this is 256bytes fragment 48Khz sample
rate, 16bit, stereo).

Is it possible there is another device producing these interrupts?
On-board devices (usb, ...) that you don't use?
Does this happen with this kernel only?

> Rui Sousa <[email protected]> writes:
> >
> > The current emu10k1 driver uses a hardware clock to generate periodic
> > interrupts. These apparently ran at the wrong rate in some Alpha machines.
> > It's possible that the same problem occur now with more recent i386
> > machines.
> >
>
> Hi!
>
> Sorry to quote a really old email. :)
>
> I'm currently investigating why is my emu10k1 doing so much
> interrupts. They are so frequent that they usually show on a kernel
> profile report on the top, no matter what I've been doing with the

Which functions do you see listed? If it's only "emu10k1_interrupt()"
then the interrupt was not generated by the emu10k1.

> poor machine (interrupts are there even if I'm not using my
> Soundblaster live).
>
> Kernel is the most recent 2.5.x. dmesg says:
>
> Creative EMU10K1 PCI Audio Driver, version 0.16, 16:17:32 Dec 9 2001
> emu10k1: EMU10K1 rev 6 model 0x8027 found, IO at 0xc400-0xc41f, IRQ 10
> ac97_codec: AC97 Audio codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23)
>
> This is my /proc/interrupts:
>
> CPU0 CPU1
> 0: 423348 425806 IO-APIC-edge timer
> 1: 13674 13371 IO-APIC-edge keyboard
> 2: 0 0 XT-PIC cascade
> 8: 2 1 IO-APIC-edge rtc
> 10: 5956299 5956064 IO-APIC-level EMU10K1 <===========
> 11: 19803 20033 IO-APIC-level ide2
> 12: 104203 101822 IO-APIC-edge PS/2 Mouse
> 14: 4356 4285 IO-APIC-edge ide0
> 15: 7 9 IO-APIC-edge ide1
> NMI: 0 0
> LOC: 849167 849165
> ERR: 2
> MIS: 0
>
> Yes, this is a SMP machine, but I don't know why would that make any
> difference. As you can see, number of emu10k1 interrupts is enormous
> (I also tried noapic, no changes).
>
> procinfo -d quickly shows that emu10k1 is generating ~1412 interrupts
> per second (7060/2).
>
> irq 0: 500 timer irq 10: 7060 EMU10K1
> irq 1: 1 keyboard irq 11: 10 ide2
> irq 2: 0 cascade [4] irq 12: 164 PS/2 Mouse
> irq 3: 0 irq 14: 2 ide0
> irq 4: 0 irq 15: 0 ide1
> irq 8: 0 rtc
>
> Is that the periodic hardware interrupt you're talking about, and why
> are there so many interrupts? Is there a way to stop that storm?
>
> Regards,
>

Rui Sousa

2001-12-10 10:53:13

by Zlatko Calusic

[permalink] [raw]
Subject: Re: emu10k1 - interrupt storm?


Hi! Thanks for the reply!

Rui Sousa <[email protected]> writes:

> On 9 Dec 2001, Zlatko Calusic wrote:
>
> The emu10k1 only generates interrupts when playing pcm sound.
> The interrupt rate depends on the "fragment" size and is usually
> smaller than ~1000interrupts/s (this is 256bytes fragment 48Khz sample
> rate, 16bit, stereo).
>

OK, if that's so, that means I really have a problem.

> Is it possible there is another device producing these interrupts?
> On-board devices (usb, ...) that you don't use?
> Does this happen with this kernel only?
>

I was into investigating such possibilities, but then I decided to
send an email before I dig deeper. So I'll make some more extensive
checking when I return home, later today (I'm at work now) and report
results.

> Which functions do you see listed? If it's only "emu10k1_interrupt()"
> then the interrupt was not generated by the emu10k1.

I don't have profile output at hand now, but I remember well seeing
emu10k1_waveout_bh() also. I even consulted the source for those two
functions, but audio drivers are, sad to say, not really my area of
expertise. :)

I remind, interrupts are occurring with no music playing at all. In
fact, I'm going to check things again in the single user mode and
report exact profiling data. So as to exclude esd/mixers and other
possible nuisances that could spoil measurements. And also I'm going
to compile kernel without sblive driver to see if interrupts are
present then.

Expect more data soon...
--
Zlatko

2001-12-11 22:34:59

by Zlatko Calusic

[permalink] [raw]
Subject: Re: emu10k1 - interrupt storm?

Rui Sousa <[email protected]> writes:

> On 9 Dec 2001, Zlatko Calusic wrote:
>
> The emu10k1 only generates interrupts when playing pcm sound.
> The interrupt rate depends on the "fragment" size and is usually
> smaller than ~1000interrupts/s (this is 256bytes fragment 48Khz sample
> rate, 16bit, stereo).
>
> Is it possible there is another device producing these interrupts?
> On-board devices (usb, ...) that you don't use?
> Does this happen with this kernel only?

Hm, looks like it is really emu10k1. But...

When I booted into single user mode, the kernel wasn't reporting
interrupts. Then I started Gnome, and there they were. Finally I found
that killing/starting esd changes things. Whenever esd was up,
interrupts were generated, when I killed it interrupts would stop.

Then I straced esd daemon, just to find it was blocked on select().

{atlas} [~]# strace -p 705
select(12, [4 6 7 8 9 10 11], NULL, NULL, NULL

Strange, if esd is not doing any work (just sleeping) who generates
interrupts then?

Also, we don't know now is it the driver to blame, or silly esd daemon.

>
> Which functions do you see listed? If it's only "emu10k1_interrupt()"
> then the interrupt was not generated by the emu10k1.
>

Top 5 entries in the kernel profile:

475 __rdtsc_delay 16.9643
309 handle_IRQ_event 2.4919
178 do_softirq 0.8725
148 emu10k1_waveout_bh 0.7872
135 emu10k1_interrupt 0.6490

As time goes by, the numbers get bigger (that is only 15min after
reboot)...

Maybe it's time to enable debug option in the driver?

Sorry for late answer, I got busy yesterday...
--
Zlatko

2001-12-12 10:27:29

by Rui Sousa

[permalink] [raw]
Subject: Re: emu10k1 - interrupt storm?

On 11 Dec 2001, Zlatko Calusic wrote:

> Rui Sousa <[email protected]> writes:
>
> > On 9 Dec 2001, Zlatko Calusic wrote:
> >
> > The emu10k1 only generates interrupts when playing pcm sound.
> > The interrupt rate depends on the "fragment" size and is usually
> > smaller than ~1000interrupts/s (this is 256bytes fragment 48Khz sample
> > rate, 16bit, stereo).
> >
> > Is it possible there is another device producing these interrupts?
> > On-board devices (usb, ...) that you don't use?
> > Does this happen with this kernel only?
>
> Hm, looks like it is really emu10k1. But...
>
> When I booted into single user mode, the kernel wasn't reporting
> interrupts. Then I started Gnome, and there they were. Finally I found
> that killing/starting esd changes things. Whenever esd was up,
> interrupts were generated, when I killed it interrupts would stop.

Ok. Esd usually uses very small fragment sizes (~256 bytes) which cause
high interrupt rates.

>
> Then I straced esd daemon, just to find it was blocked on select().
>
> {atlas} [~]# strace -p 705
> select(12, [4 6 7 8 9 10 11], NULL, NULL, NULL
>
> Strange, if esd is not doing any work (just sleeping) who generates
> interrupts then?

If the sound device is open and playback is enabled the driver runs
at "full speed" even if the output is just silence.

> Also, we don't know now is it the driver to blame, or silly esd daemon.

Both I think... With some machines the hardware timer(used inside
the emu10k1) seems to be running at wrong rate.

> >
> > Which functions do you see listed? If it's only "emu10k1_interrupt()"
> > then the interrupt was not generated by the emu10k1.
> >
>
> Top 5 entries in the kernel profile:
>
> 475 __rdtsc_delay 16.9643
> 309 handle_IRQ_event 2.4919
> 178 do_softirq 0.8725
> 148 emu10k1_waveout_bh 0.7872
> 135 emu10k1_interrupt 0.6490
>
> As time goes by, the numbers get bigger (that is only 15min after
> reboot)...
>
> Maybe it's time to enable debug option in the driver?

Yes. Start by checking the audio format used
(sample bytes, sample rate, channels) and buffering parameters
(fragment size). The interrupt rate is:

fragment_size / ( sample_rate * sample_bytes * channels) irq/s


Also if the timer rate is screwed up you should see a lot of
(from emu10k1_waveout_bh() in audio.c)

DPD(3, "Not enough transfer size -> %d\n", bytestocopy);

going like 64, 128, 192, 64, 128, 192 if for example you
have a fragment of 256 bytes and the clock rate is 4 times what
it should.

> Sorry for late answer, I got busy yesterday...
>

Rui Sousa

Subject: Re: emu10k1 - interrupt storm?

Try running esd with the -as 10 options..
As the help says, it will disconnect the audio device after 10 seconds
of inactivity. It will at least help you with the interrupt load while
not using sound.

Rui Sousa wrote:
>
>
> If the sound device is open and playback is enabled the driver runs
> at "full speed" even if the output is just silence.
>
>
> Both I think... With some machines the hardware timer(used inside
> the emu10k1) seems to be running at wrong rate.
>
> Rui Sousa
>

2001-12-12 22:04:45

by Zlatko Calusic

[permalink] [raw]
Subject: Re: emu10k1 - interrupt storm?

"Marcelo ''Mosca'' de Paula Bezerra" <[email protected]> writes:

> Try running esd with the -as 10 options..
> As the help says, it will disconnect the audio device after 10 seconds
> of inactivity. It will at least help you with the interrupt load while
> not using sound.
>

Yes, nice idea, but easier said than done. :)

Unfortunately esd is started by the gnome desktop environment and I
can disable or enable it, but can't set any parameters (as far as I
can see). Probably I'll disable it for good, as emu10k1 driver already
does a great job mixing multiple sound streams.

Regards,
--
Zlatko

2001-12-12 22:24:05

by Doug McNaught

[permalink] [raw]
Subject: Re: emu10k1 - interrupt storm?

Zlatko Calusic <[email protected]> writes:

> Yes, nice idea, but easier said than done. :)
>
> Unfortunately esd is started by the gnome desktop environment and I
> can disable or enable it, but can't set any parameters (as far as I
> can see). Probably I'll disable it for good, as emu10k1 driver already
> does a great job mixing multiple sound streams.

There's always the hack...

# cd /usr/bin
# mv esd esd.real
# cat >>esd
#!/bin/sh
exec esd.real -as 10 $*
^D
# chmod 755 esd

;)

-Doug
--
Let us cross over the river, and rest under the shade of the trees.
--T. J. Jackson, 1863

2001-12-12 22:42:26

by Morgan Collins

[permalink] [raw]
Subject: Re: emu10k1 - interrupt storm?

On Wed, 2001-12-12 at 13:47, Zlatko Calusic wrote:
> "Marcelo ''Mosca'' de Paula Bezerra" <[email protected]> writes:
>
> > Try running esd with the -as 10 options..
> > As the help says, it will disconnect the audio device after 10 seconds
> > of inactivity. It will at least help you with the interrupt load while
> > not using sound.
> >
>
> Yes, nice idea, but easier said than done. :)
>
> Unfortunately esd is started by the gnome desktop environment and I
> can disable or enable it, but can't set any parameters (as far as I
> can see). Probably I'll disable it for good, as emu10k1 driver already
> does a great job mixing multiple sound streams.
>
> Regards,

in $prefix/etc/esd.conf
add:

spawn_options=-as 10

--
Morgan Collins http://sirmorcant.morcant.org
Crypto Doesn't Kill - People Do.


Attachments:
(No filename) (240.00 B)

2001-12-13 07:47:41

by Zlatko Calusic

[permalink] [raw]
Subject: Re: emu10k1 - interrupt storm?

Doug McNaught <[email protected]> writes:

> Zlatko Calusic <[email protected]> writes:
>
> > Yes, nice idea, but easier said than done. :)
> >
> > Unfortunately esd is started by the gnome desktop environment and I
> > can disable or enable it, but can't set any parameters (as far as I
> > can see). Probably I'll disable it for good, as emu10k1 driver already
> > does a great job mixing multiple sound streams.
>
> There's always the hack...
>
> # cd /usr/bin
> # mv esd esd.real
> # cat >>esd
> #!/bin/sh
> exec esd.real -as 10 $*
> ^D
> # chmod 755 esd
>

Sure, but it's messy. :)

Also, as I do frequent upgrades (Debian unstable) it would get
overwritten quite fast.
--
Zlatko

2001-12-13 07:50:41

by Zlatko Calusic

[permalink] [raw]
Subject: Re: emu10k1 - interrupt storm?

Morgan Collins <[email protected]> writes:

> On Wed, 2001-12-12 at 13:47, Zlatko Calusic wrote:
> > "Marcelo ''Mosca'' de Paula Bezerra" <[email protected]> writes:
> >
> > > Try running esd with the -as 10 options..
> > > As the help says, it will disconnect the audio device after 10 seconds
> > > of inactivity. It will at least help you with the interrupt load while
> > > not using sound.
> > >
> >
> > Yes, nice idea, but easier said than done. :)
> >
> > Unfortunately esd is started by the gnome desktop environment and I
> > can disable or enable it, but can't set any parameters (as far as I
> > can see). Probably I'll disable it for good, as emu10k1 driver already
> > does a great job mixing multiple sound streams.
> >
> > Regards,
>
> in $prefix/etc/esd.conf
> add:
>
> spawn_options=-as 10
>

Hm, that is interesting. In my /etc/esound/esd.conf there are these
few lines:

[esd]
auto_spawn=0
spawn_options=-terminate -nobeeps -as 5
spawn_wait_ms=100

So esd already has -as parameter, but if I look in the process list I
see it started only as `esd -nobeeps'. I'll investigate further...

Thanks for the idea.
--
Zlatko

2001-12-14 14:04:42

by Philipp Matthias Hahn

[permalink] [raw]
Subject: Re: emu10k1 - interrupt storm?

Hallo Zlatko!

On Wed, Dec 12, 2001 at 10:47:30PM +0100, Zlatko Calusic wrote:
> Unfortunately esd is started by the gnome desktop environment and I
> can disable or enable it, but can't set any parameters (as far as I
> can see). Probably I'll disable it for good, as emu10k1 driver already
> does a great job mixing multiple sound streams.
Say ever no:

$ fuser /dev/dsp
/dev/dsp: 1555
$ esdctl off
$ fuser /dev/dsp
$ ps 1555
PID TTY STAT TIME COMMAND
1555 ? S 0:00 esd -nobeeps

BYtE
Philipp
--
/ / (_)__ __ ____ __ Philipp Hahn
/ /__/ / _ \/ // /\ \/ /
/____/_/_//_/\_,_/ /_/\_\ [email protected]

2002-02-11 22:48:39

by Jakub Travnik

[permalink] [raw]
Subject: Re: emu10k1 - interrupt storm?

Hello and sorry for replying late,

I did experienced same problems with emu10k1 on 2.4.8 (as is in Mandrake 8.1).

After modprobing emu10k1, interrupts per second (as reported by vmstat)
start to increase and in few minutes they were as high as 70000 per second.
rmmod-ing emu10k1 caused number of interrupts per second to slowly decrease.

Following setting affected this:

In BIOS setup, PCI options:
Interrupts triggered by
1, edge
2, level

value 'edge' causes problems,
value 'level' makes thing work without problems.

If you are experiencing problems with this, set to 'level'.


Jakub Travnik
jabber://[email protected]



----Replied message follows----
From: Zlatko Calusic ([email protected])
Date: Sun Dec 09 2001 - 16:54:03 EST
Rui Sousa <[email protected]> writes:
>
> The current emu10k1 driver uses a hardware clock to generate periodic
> interrupts. These apparently ran at the wrong rate in some Alpha machines.
> It's possible that the same problem occur now with more recent i386
> machines.
>

Hi!

Sorry to quote a really old email. :)

I'm currently investigating why is my emu10k1 doing so much
interrupts. They are so frequent that they usually show on a kernel
profile report on the top, no matter what I've been doing with the
poor machine (interrupts are there even if I'm not using my
Soundblaster live).

Kernel is the most recent 2.5.x. dmesg says:

Creative EMU10K1 PCI Audio Driver, version 0.16, 16:17:32 Dec 9 2001
emu10k1: EMU10K1 rev 6 model 0x8027 found, IO at 0xc400-0xc41f, IRQ 10
ac97_codec: AC97 Audio codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23)

This is my /proc/interrupts:

CPU0 CPU1
0: 423348 425806 IO-APIC-edge timer
1: 13674 13371 IO-APIC-edge keyboard
2: 0 0 XT-PIC cascade
8: 2 1 IO-APIC-edge rtc
10: 5956299 5956064 IO-APIC-level EMU10K1 <===========
11: 19803 20033 IO-APIC-level ide2
12: 104203 101822 IO-APIC-edge PS/2 Mouse
14: 4356 4285 IO-APIC-edge ide0
15: 7 9 IO-APIC-edge ide1
NMI: 0 0
LOC: 849167 849165
ERR: 2
MIS: 0

Yes, this is a SMP machine, but I don't know why would that make any
difference. As you can see, number of emu10k1 interrupts is enormous
(I also tried noapic, no changes).

procinfo -d quickly shows that emu10k1 is generating ~1412 interrupts
per second (7060/2).

irq 0: 500 timer irq 10: 7060 EMU10K1
irq 1: 1 keyboard irq 11: 10 ide2
irq 2: 0 cascade [4] irq 12: 164 PS/2 Mouse
irq 3: 0 irq 14: 2 ide0
irq 4: 0 irq 15: 0 ide1
irq 8: 0 rtc

Is that the periodic hardware interrupt you're talking about, and why
are there so many interrupts? Is there a way to stop that storm?

Regards,

--
Zlatko
-


2002-02-12 08:12:38

by Zlatko Calusic

[permalink] [raw]
Subject: Re: emu10k1 - interrupt storm?

Jakub Travnik <[email protected]> writes:

> Hello and sorry for replying late,
>
> I did experienced same problems with emu10k1 on 2.4.8 (as is in Mandrake 8.1).
>
> After modprobing emu10k1, interrupts per second (as reported by vmstat)
> start to increase and in few minutes they were as high as 70000 per second.
> rmmod-ing emu10k1 caused number of interrupts per second to slowly decrease.
>
> Following setting affected this:
>
> In BIOS setup, PCI options:
> Interrupts triggered by
> 1, edge
> 2, level

Unfortunately I don't have that setting in my BIOS.

>
> value 'edge' causes problems,
> value 'level' makes thing work without problems.
>

But anyway, emu10k1 on irq 5 already uses level type:

5: 5193 5183 IO-APIC-level EMU10K1


> If you are experiencing problems with this, set to 'level'.
>

Eventually, I forced esd to exit after few seconds of inactivity. That
way I at least don't have interrupt storms when I don't have any sound
output through esd.

Regards,
--
Zlatko