Re: [patch] voluntary-preempt-2.6.8-rc2-L2, preemptable hardirqs

Lee Revell
2004-07-27T22:47:43Z

On Tue, 2004-07-27 at 12:27, Ingo Molnar wrote:

> i've done a softirq lock-break in the atkbd and ps2mouse drivers - this
> should fix the big latencies triggered by NumLock/CapsLock, reported by
> Lee Revell.
>

L2 does not fix this problem. Previously, toggling CapsLock would
trigger a single large XRUN. Now it seems to actually prevent the
soundcard interrupt handler from executing in time, as well as
triggering smaller XRUNs. This is with preempt=1, voluntary-preempt=3.

ALSA /home/rlrevell/cvs/alsa/alsa-driver/alsa-kernel/core/pcm_lib.c:211: Unexpected hw_pointer value [1] (stream = 0, delta: -12, max jitter = 32): wrong interrupt acknowledge?
[<c01066a7>] dump_stack+0x17/0x20
[<de936497>] snd_pcm_period_elapsed+0x1c7/0x3e0 [snd_pcm]
[<de956477>] snd_emu10k1_interrupt+0x337/0x3c0 [snd_emu10k1]
[<c01078c8>] handle_IRQ_event+0x38/0x80
[<c0107c2f>] do_hardirq+0xaf/0x180
[<c0113cbf>] cond_resched_softirq+0x4f/0x90
[<c0211245>] atkbd_sendbyte+0x45/0x90
[<c021144f>] atkbd_command+0x1bf/0x200
[<c02115fb>] atkbd_event+0x16b/0x200
[<c020e775>] input_event+0x115/0x3d0
[<c01e7d9b>] kbd_bh+0xbb/0x160
[<c011a7d4>] tasklet_action+0x44/0x70
[<c011a593>] ___do_softirq+0x73/0x80
[<c011a5e9>] _do_softirq+0x9/0x10
[<c011a975>] irqd+0x75/0xc0
[<c01284f4>] kthread+0xa4/0xb0
[<c0104395>] kernel_thread_helper+0x5/0x10
ALSA /home/rlrevell/cvs/alsa/alsa-driver/alsa-kernel/core/pcm_lib.c:139: XRUN: pcmC0D2c
[<c01066a7>] dump_stack+0x17/0x20
[<de93654b>] snd_pcm_period_elapsed+0x27b/0x3e0 [snd_pcm]
[<de956211>] snd_emu10k1_interrupt+0xd1/0x3c0 [snd_emu10k1]
[<c01078c8>] handle_IRQ_event+0x38/0x80
[<c0107c2f>] do_hardirq+0xaf/0x180
[<c0113cbf>] cond_resched_softirq+0x4f/0x90
[<c0211245>] atkbd_sendbyte+0x45/0x90
[<c021144f>] atkbd_command+0x1bf/0x200
[<c02115fb>] atkbd_event+0x16b/0x200
[<c020e775>] input_event+0x115/0x3d0
[<c01e7d9b>] kbd_bh+0xbb/0x160
[<c011a7d4>] tasklet_action+0x44/0x70
[<c011a593>] ___do_softirq+0x73/0x80
[<c011a5e9>] _do_softirq+0x9/0x10
[<c011a975>] irqd+0x75/0xc0
[<c01284f4>] kthread+0xa4/0xb0
[<c0104395>] kernel_thread_helper+0x5/0x10
ALSA /home/rlrevell/cvs/alsa/alsa-driver/alsa-kernel/core/pcm_lib.c:211: Unexpected hw_pointer value [1] (stream = 0, delta: -7, max jitter = 32): wrong interrupt acknowledge?
[<c01066a7>] dump_stack+0x17/0x20
[<de936497>] snd_pcm_period_elapsed+0x1c7/0x3e0 [snd_pcm]
[<de956477>] snd_emu10k1_interrupt+0x337/0x3c0 [snd_emu10k1]
[<c01078c8>] handle_IRQ_event+0x38/0x80
[<c0107c2f>] do_hardirq+0xaf/0x180
[<c011a99b>] irqd+0x9b/0xc0
[<c01284f4>] kthread+0xa4/0xb0
[<c0104395>] kernel_thread_helper+0x5/0x10

Lee