Re: preempt-timing-2.6.8-rc1

Lenar Lõhmus
2004-07-14T07:59:41Z

William Lee Irwin III wrote:

>On Tue, Jul 13, 2004 at 06:32:16PM +0300, Lenar L?hmus wrote:
>
>
>>Machine in question is XP2500+@1.84GHz (it was overlocked@2.25GHz during
>>last test, now running at
>>official speed). Is this really slow for 1ms?
>>
>>
>
>It should actually be fast enough. I suspect something else, maybe some
>slow devices. What's /proc/interrupts look like?
>
>
CPU0
0: 60521505 IO-APIC-edge timer
1: 11445 IO-APIC-edge i8042
8: 33269 IO-APIC-edge rtc
9: 0 IO-APIC-level acpi
14: 523202 IO-APIC-edge ide0
15: 61761 IO-APIC-edge ide1
16: 10376547 IO-APIC-level eth0
19: 522859 IO-APIC-level ide2
20: 131904 IO-APIC-level NVidia nForce2, ehci_hcd
21: 66209 IO-APIC-level ohci_hcd
22: 9165291 IO-APIC-level ohci_hcd, eth1
NMI: 0
LOC: 60351703
ERR: 0
MIS: 2

> <>exit_notify() isn't a huge surprise unless you're not doing things with
> lots of processes. Actually, it probably is a surprise, since it should
> only hurt when you're doing forkbombs and/or threadbombs.

It probably happened when users where simultaneously logging in (many
kdeinit processes created at that time).

>Not surprised either. There's probably enough time spent with interrupts
>off the local_irq_save() hurt, and it didn't make your schedule() things
>go away, so my wild guesswork thus far is it made things worse with no
>tangible benefit, so best to drop that local_irq_save() change.
>
>
Yeah, ok.

In the meantime couple of these found their way to logs during the night:
3ms non-preemptible critical section violated 2 ms preempt threshold
starting at search_by_key+0xe3/0xf70 and ending at do_IRQ+0xec/0x130

And this still seems to be very long and real:
50ms non-preemptible critical section violated 2 ms preempt threshold
starting at snd_pcm_action_lock_irq+0x1b/0x1d0 [snd_pcm] and ending at
snd_pcm_action_lock_irq+0x65/0x1d0 [snd_pcm]
Trace has this:
[<f9239b09>] snd_pcm_playback_ioctl1+0x49/0x2f0 [snd_pcm]
So maybe this too is ioctl related (non-educated guess)?

Lenar