* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
@ 2004-08-02 15:08 Shane Shrybman
2004-08-03 9:19 ` Ingo Molnar
2004-08-03 14:19 ` Ingo Molnar
0 siblings, 2 replies; 27+ messages in thread
From: Shane Shrybman @ 2004-08-02 15:08 UTC (permalink / raw)
To: mingo, linux-kernel
I was unable to boot -O2. It seemed to hang up when it got to the
aic7xxx(29160) scsi controller.
Boot messages copied by hand:
IRQ #16 thread started up.
delay 5 -10 secs
IRQ #19 thread started up.
delay 5 -10 secs
ahc_intr: HOST_MSG_LOOP bad phase 0x0
(repeats every 10-20 secs)
Waited a few minutes here before giving up and hitting reset.
Here is /proc/interrupts in 2.6.7-mm7
CPU0
0: 740456 IO-APIC-edge timer
1: 1417 IO-APIC-edge i8042
8: 4 IO-APIC-edge rtc
9: 0 IO-APIC-level acpi
14: 14 IO-APIC-edge ide0
15: 14 IO-APIC-edge ide1
16: 178 IO-APIC-level ide3, EMU10K1
17: 2491 IO-APIC-level eth0
19: 10335 IO-APIC-level aic7xxx, bttv0, Bt87x audio
21: 29074 IO-APIC-level uhci_hcd, uhci_hcd, uhci_hcd, uhci_hcd
22: 0 IO-APIC-level VIA8233
NMI: 0
LOC: 740415
ERR: 0
MIS: 0
Also, had to turn of parport in the config to get it to compile.
drivers/parport/share.c:77: unknown field `generic_enable_irq' specified
in initializer
drivers/parport/share.c:78: unknown field `generic_disable_irq'
specified in initializer
Regards,
Shane
^ permalink raw reply [flat|nested] 27+ messages in thread* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-02 15:08 [patch] voluntary-preempt-2.6.8-rc2-O2 Shane Shrybman
@ 2004-08-03 9:19 ` Ingo Molnar
2004-08-03 14:05 ` Shane Shrybman
2004-08-03 14:19 ` Ingo Molnar
1 sibling, 1 reply; 27+ messages in thread
From: Ingo Molnar @ 2004-08-03 9:19 UTC (permalink / raw)
To: Shane Shrybman; +Cc: linux-kernel
On Mon, 2 Aug 2004, Shane Shrybman wrote:
> I was unable to boot -O2. It seemed to hang up when it got to the
> aic7xxx(29160) scsi controller.
does it boot with voluntary-preempt=2 on the boot command line? (or with
voluntary-preempt=1)?
if it boots this way you can turn it back on runtime by changing
/proc/sys/kernel/voluntary_preemption back to 3 and turning on IRQ
threading for each interrupt via /proc/irq/*/threaded.
Ingo
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-03 9:19 ` Ingo Molnar
@ 2004-08-03 14:05 ` Shane Shrybman
2004-08-03 14:09 ` Ingo Molnar
0 siblings, 1 reply; 27+ messages in thread
From: Shane Shrybman @ 2004-08-03 14:05 UTC (permalink / raw)
To: Ingo Molnar; +Cc: linux-kernel
On Tue, 2004-08-03 at 05:19, Ingo Molnar wrote:
> On Mon, 2 Aug 2004, Shane Shrybman wrote:
>
> > I was unable to boot -O2. It seemed to hang up when it got to the
> > aic7xxx(29160) scsi controller.
>
> does it boot with voluntary-preempt=2 on the boot command line? (or with
> voluntary-preempt=1)?
>
Nope, didn't boot with either voluntary-preempt=1 or 2 on the boot
command line. Booting stopped at the scsi controller again.
It did boot with just acpi=off.
> if it boots this way you can turn it back on runtime by changing
> /proc/sys/kernel/voluntary_preemption back to 3 and turning on IRQ
> threading for each interrupt via /proc/irq/*/threaded.
>
> Ingo
>
Regards,
Shane
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-03 14:05 ` Shane Shrybman
@ 2004-08-03 14:09 ` Ingo Molnar
2004-08-03 14:45 ` Shane Shrybman
0 siblings, 1 reply; 27+ messages in thread
From: Ingo Molnar @ 2004-08-03 14:09 UTC (permalink / raw)
To: Shane Shrybman; +Cc: linux-kernel
On Tue, 3 Aug 2004, Shane Shrybman wrote:
> > > I was unable to boot -O2. It seemed to hang up when it got to the
> > > aic7xxx(29160) scsi controller.
> >
> > does it boot with voluntary-preempt=2 on the boot command line? (or with
> > voluntary-preempt=1)?
> >
>
> Nope, didn't boot with either voluntary-preempt=1 or 2 on the boot
> command line. Booting stopped at the scsi controller again.
>
> It did boot with just acpi=off.
does the non-patched kernel boot?
Ingo
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-03 14:09 ` Ingo Molnar
@ 2004-08-03 14:45 ` Shane Shrybman
2004-08-03 16:29 ` Ingo Molnar
0 siblings, 1 reply; 27+ messages in thread
From: Shane Shrybman @ 2004-08-03 14:45 UTC (permalink / raw)
To: Ingo Molnar; +Cc: linux-kernel
On Tue, 2004-08-03 at 10:09, Ingo Molnar wrote:
> On Tue, 3 Aug 2004, Shane Shrybman wrote:
>
> > > > I was unable to boot -O2. It seemed to hang up when it got to the
> > > > aic7xxx(29160) scsi controller.
> > >
> > > does it boot with voluntary-preempt=2 on the boot command line? (or with
> > > voluntary-preempt=1)?
> > >
> >
> > Nope, didn't boot with either voluntary-preempt=1 or 2 on the boot
> > command line. Booting stopped at the scsi controller again.
> >
> > It did boot with just acpi=off.
>
> does the non-patched kernel boot?
>
I am in vanilla 2.6.8-rc2 now and it seems to be fine.
> Ingo
>
Regards,
Shane
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-03 14:45 ` Shane Shrybman
@ 2004-08-03 16:29 ` Ingo Molnar
2004-08-03 17:43 ` Shane Shrybman
0 siblings, 1 reply; 27+ messages in thread
From: Ingo Molnar @ 2004-08-03 16:29 UTC (permalink / raw)
To: Shane Shrybman; +Cc: linux-kernel
On Tue, 3 Aug 2004, Shane Shrybman wrote:
> > > Nope, didn't boot with either voluntary-preempt=1 or 2 on the boot
> > > command line. Booting stopped at the scsi controller again.
> > >
> > > It did boot with just acpi=off.
> >
> > does the non-patched kernel boot?
> >
>
> I am in vanilla 2.6.8-rc2 now and it seems to be fine.
does it boot fine with the patch applied but the APIC turned off in the
.config?
Ingo
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-03 16:29 ` Ingo Molnar
@ 2004-08-03 17:43 ` Shane Shrybman
0 siblings, 0 replies; 27+ messages in thread
From: Shane Shrybman @ 2004-08-03 17:43 UTC (permalink / raw)
To: Ingo Molnar; +Cc: linux-kernel
On Tue, 2004-08-03 at 12:29, Ingo Molnar wrote:
> On Tue, 3 Aug 2004, Shane Shrybman wrote:
>
> > > > Nope, didn't boot with either voluntary-preempt=1 or 2 on the boot
> > > > command line. Booting stopped at the scsi controller again.
> > > >
> > > > It did boot with just acpi=off.
> > >
> > > does the non-patched kernel boot?
> > >
> >
> > I am in vanilla 2.6.8-rc2 now and it seems to be fine.
>
> does it boot fine with the patch applied but the APIC turned off in the
> .config?
>
Yes it does.
> Ingo
>
Shane
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-02 15:08 [patch] voluntary-preempt-2.6.8-rc2-O2 Shane Shrybman
2004-08-03 9:19 ` Ingo Molnar
@ 2004-08-03 14:19 ` Ingo Molnar
2004-08-04 11:22 ` Rudo Thomas
2004-08-06 18:08 ` [patch] voluntary-preempt-2.6.8-rc2-O2 Thomas Charbonnel
1 sibling, 2 replies; 27+ messages in thread
From: Ingo Molnar @ 2004-08-03 14:19 UTC (permalink / raw)
To: Shane Shrybman; +Cc: linux-kernel
On Mon, 2 Aug 2004, Shane Shrybman wrote:
> Also, had to turn of parport in the config to get it to compile.
>
> drivers/parport/share.c:77: unknown field `generic_enable_irq' specified
> in initializer
> drivers/parport/share.c:78: unknown field `generic_disable_irq'
> specified in initializer
thx - i fixed this in -O3.
Ingo
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-03 14:19 ` Ingo Molnar
@ 2004-08-04 11:22 ` Rudo Thomas
2004-08-04 11:54 ` Ingo Molnar
` (2 more replies)
2004-08-06 18:08 ` [patch] voluntary-preempt-2.6.8-rc2-O2 Thomas Charbonnel
1 sibling, 3 replies; 27+ messages in thread
From: Rudo Thomas @ 2004-08-04 11:22 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Shane Shrybman, linux-kernel
> thx - i fixed this in -O3.
Hi, Ingo.
I just wanted to report that O3 (+preempt-timing-O2) locks up hard at random
occasions, even with voluntary-preempt=2 preempt=1 set at boot time.
I never changed any of /proc/irq/*/threaded.
I will provide any information needed to hunt this down.
Rudo.
^ permalink raw reply [flat|nested] 27+ messages in thread* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-04 11:22 ` Rudo Thomas
@ 2004-08-04 11:54 ` Ingo Molnar
2004-08-04 16:05 ` Rudo Thomas
2004-08-04 14:32 ` Peter Zijlstra
2004-08-04 14:34 ` [patch] voluntary-preempt-2.6.8-rc2-mm2-O3 Peter Zijlstra
2 siblings, 1 reply; 27+ messages in thread
From: Ingo Molnar @ 2004-08-04 11:54 UTC (permalink / raw)
To: Rudo Thomas; +Cc: Shane Shrybman, linux-kernel
On Wed, 4 Aug 2004, Rudo Thomas wrote:
> > thx - i fixed this in -O3.
>
> Hi, Ingo.
>
> I just wanted to report that O3 (+preempt-timing-O2) locks up hard at
> random occasions, even with voluntary-preempt=2 preempt=1 set at boot
> time. I never changed any of /proc/irq/*/threaded.
>
> I will provide any information needed to hunt this down.
could you check whether it works with all APIC options turned off in the
.config?
Ingo
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-04 11:54 ` Ingo Molnar
@ 2004-08-04 16:05 ` Rudo Thomas
0 siblings, 0 replies; 27+ messages in thread
From: Rudo Thomas @ 2004-08-04 16:05 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Shane Shrybman, linux-kernel
> > I just wanted to report that O3 (+preempt-timing-O2) locks up hard at
> > random occasions, even with voluntary-preempt=2 preempt=1 set at boot
> > time. I never changed any of /proc/irq/*/threaded.
>
> could you check whether it works with all APIC options turned off in the
> .config?
It appears to. With APIC on, it crashed after 10 and 25 minutes. Without APIC,
it survived two hours.
Hope that helps.
Rudo.
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-04 11:22 ` Rudo Thomas
2004-08-04 11:54 ` Ingo Molnar
@ 2004-08-04 14:32 ` Peter Zijlstra
2004-08-04 14:34 ` [patch] voluntary-preempt-2.6.8-rc2-mm2-O3 Peter Zijlstra
2 siblings, 0 replies; 27+ messages in thread
From: Peter Zijlstra @ 2004-08-04 14:32 UTC (permalink / raw)
To: Rudo Thomas; +Cc: Ingo Molnar, linux-kernel
Rudo Thomas wrote:
>>thx - i fixed this in -O3.
>>
>>
>
>Hi, Ingo.
>
>I just wanted to report that O3 (+preempt-timing-O2) locks up hard at random
>occasions, even with voluntary-preempt=2 preempt=1 set at boot time.
>I never changed any of /proc/irq/*/threaded.
>
>I will provide any information needed to hunt this down.
>
>Rudo.
>
>
Hi Igno,
I have the same troubles with O3 at home on my SMP machine, however
since the same kernel (2.6.8-rc2-mm2-O3) works flawlessly here at work
on a UP P4 I thought it to be SMP related.
I also tried booting my dual athlon with noapic but that did not solve
the problem.
I have not had enough time yet to file a proper bug report but seeing
this message I wanted to second it.
Are there any known SMP related problems with your patches?
and would my dmesg and .config from home be enough ?
kind regards,
Peter Zijlstra
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-mm2-O3
2004-08-04 11:22 ` Rudo Thomas
2004-08-04 11:54 ` Ingo Molnar
2004-08-04 14:32 ` Peter Zijlstra
@ 2004-08-04 14:34 ` Peter Zijlstra
2 siblings, 0 replies; 27+ messages in thread
From: Peter Zijlstra @ 2004-08-04 14:34 UTC (permalink / raw)
To: Rudo Thomas; +Cc: Ingo Molnar, linux-kernel
Rudo Thomas wrote:
>>thx - i fixed this in -O3.
>>
>>
>
>Hi, Ingo.
>
>I just wanted to report that O3 (+preempt-timing-O2) locks up hard at random
>occasions, even with voluntary-preempt=2 preempt=1 set at boot time.
>I never changed any of /proc/irq/*/threaded.
>
>I will provide any information needed to hunt this down.
>
>Rudo.
>
>
Hi Igno,
I have the same troubles with O3 at home on my SMP machine, however
since the same kernel (2.6.8-rc2-mm2-O3) works flawlessly here at work
on a UP P4 I thought it to be SMP related.
I also tried booting my dual athlon with noapic but that did not solve
the problem.
I have not had enough time yet to file a proper bug report but seeing
this message I wanted to second it.
Are there any known SMP related problems with your patches?
and would my dmesg and .config from home be enough ?
kind regards,
Peter Zijlstra
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-03 14:19 ` Ingo Molnar
2004-08-04 11:22 ` Rudo Thomas
@ 2004-08-06 18:08 ` Thomas Charbonnel
2004-08-06 18:44 ` Paulo Marques
1 sibling, 1 reply; 27+ messages in thread
From: Thomas Charbonnel @ 2004-08-06 18:08 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Shane Shrybman, linux-kernel
Ingo Molnar wrote :
> On Mon, 2 Aug 2004, Shane Shrybman wrote:
>
> > Also, had to turn of parport in the config to get it to compile.
> >
> > drivers/parport/share.c:77: unknown field `generic_enable_irq' specified
> > in initializer
> > drivers/parport/share.c:78: unknown field `generic_disable_irq'
> > specified in initializer
>
> thx - i fixed this in -O3.
>
> Ingo
In the end I found the cause of those latency spikes I was seeing every
~8 seconds. They are caused by ACPI. I tried to narrow the problem down,
and they're here whenever I compile ACPI in (even with no option and no
additional module) unless I specify acpi=off or acpi=ht (I don't have a
HT cpu, but it could be a clue as the ACPI interpreter is disabled in
this mode). I don't really hope that this will ever get fixed as my
toshiba laptop model is known to have a buggy bios WRT ACPI (I already
tried an alternate dsdt table that fixed a battery status reporting
issue, but the latency problem was still there).
Using your updated version of wli's preempt-timing patch on top of -O2,
here are the results :
On X startup :
Aug 2 15:40:08 satellite (X/4647): 1587us non-preemptible critical
section violated 1000 us preempt threshold starting at
voluntary_resched+0x3e/0x70 and ending at sys_ioctl+0xdd/0x2a0
Aug 2 15:40:08 satellite [<c010574e>] dump_stack+0x1e/0x30
Aug 2 15:40:08 satellite [<c011723e>] dec_preempt_count+0x3e/0x50
Aug 2 15:40:08 satellite [<c016956d>] sys_ioctl+0xdd/0x2a0
Aug 2 15:40:08 satellite [<c01051a5>] sysenter_past_esp+0x52/0x71
While accessing the file system (this one is very frequent):
Aug 2 15:32:24 satellite (bash/5298): 1095us non-preemptible critical
section violated 1000 us preempt threshold starting at
search_by_key+0x120/0x1140 and ending at voluntary_resched+0x1a/0x70
Aug 2 15:32:24 satellite [<c010574e>] dump_stack+0x1e/0x30
Aug 2 15:32:24 satellite [<c01171a6>] touch_preempt_timing+0x36/0x50
Aug 2 15:32:24 satellite [<c042856a>] voluntary_resched+0x1a/0x70
Aug 2 15:32:24 satellite [<c0158c44>] __getblk+0x44/0x70
Aug 2 15:32:24 satellite [<c01ae348>] search_by_key+0x78/0x1140
Aug 2 15:32:24 satellite [<c01af4bc>]
search_for_position_by_key+0xac/0x3f0
Aug 2 15:32:24 satellite [<c019e0c4>]
reiserfs_allocate_blocks_for_region+0x354/0x15b0
Aug 2 15:32:24 satellite [<c01a0c4c>] reiserfs_file_write+0x61c/0x8d0
Aug 2 15:32:24 satellite [<c0155e2f>] vfs_write+0xcf/0x140
Aug 2 15:32:24 satellite [<c0155f3f>] sys_write+0x3f/0x60
Aug 2 15:32:24 satellite [<c01051a5>] sysenter_past_esp+0x52/0x71
Mounting a reiserfs volume :
Aug 2 15:26:22 satellite (mount/2965): 2462us non-preemptible critical
section
violated 1000 us preempt threshold starting at
voluntary_resched+0x3e/0x70 and ending at voluntary_resched+0x1a/0x70
Aug 2 15:26:22 satellite [<c010574e>] dump_stack+0x1e/0x30
Aug 2 15:26:22 satellite [<c01171a6>] touch_preempt_timing+0x36/0x50
Aug 2 15:26:22 satellite [<c042856a>] voluntary_resched+0x1a/0x70
Aug 2 15:26:22 satellite [<c0158c44>] __getblk+0x44/0x70
Aug 2 15:26:22 satellite [<c0158cef>] __bread+0x1f/0x40
Aug 2 15:26:22 satellite [<c01b6d05>] journal_read+0xa5/0x520
Aug 2 15:26:22 satellite [<c01b7b8c>] journal_init+0x6ac/0x7f0
Aug 2 15:26:22 satellite [<c01a772c>] reiserfs_fill_super+0x27c/0x6e0
Aug 2 15:26:22 satellite [<c015d17e>] get_sb_bdev+0x13e/0x170
Aug 2 15:26:22 satellite [<c01a7bff>] get_super_block+0x2f/0x40
Aug 2 15:26:22 satellite [<c015d3f5>] do_kern_mount+0xa5/0x180
Aug 2 15:26:22 satellite [<c0174721>] do_new_mount+0x71/0xb0
Aug 2 15:26:22 satellite [<c0174e09>] do_mount+0x169/0x1b0
Aug 2 15:26:22 satellite [<c0175250>] sys_mount+0xb0/0x140
Aug 2 15:26:22 satellite [<c01051a5>] sysenter_past_esp+0x52/0x71
Another problem I had while trying the preempt-timing patch is that
using clock=pmtmr flooded my logs because the resolution of the detected
violations was 1ms, as shown below :
Aug 2 15:22:35 satellite (pdflush/43): 1000us non-preemptible critical
section
violated 1000 us preempt threshold starting at
voluntary_resched+0x3e/0x70 and ending at do_journal_end+0x4cf/0xb80
Aug 2 15:22:35 satellite [<c010574e>] dump_stack+0x1e/0x30
Aug 2 15:22:35 satellite [<c01171a6>] touch_preempt_timing+0x36/0x50
Aug 2 15:22:35 satellite [<c01b99ef>] do_journal_end+0x4cf/0xb80
Aug 2 15:22:35 satellite [<c01b8acc>] journal_end_sync+0x4c/0x90
Aug 2 15:22:35 satellite [<c01a514e>] reiserfs_sync_fs+0x5e/0xb0
Aug 2 15:22:35 satellite [<c015c7bc>] sync_supers+0xfc/0x110
Aug 2 15:22:35 satellite [<c013d911>] wb_kupdate+0x31/0x110
Aug 2 15:22:35 satellite [<c013e466>] __pdflush+0xd6/0x200
Aug 2 15:22:35 satellite [<c013e5b8>] pdflush+0x28/0x30
Aug 2 15:22:35 satellite [<c012d96a>] kthread+0xaa/0xb0
Aug 2 15:22:35 satellite [<c01032f5>] kernel_thread_helper+0x5/0x10
Aug 2 15:22:43 satellite printk: 5 messages suppressed.
(I also had 2000us, 3000us, and 4000us violations)
Using clock=tsc worked just fine.
Thanks for all the work you've done and are still doing on this,
Thomas
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-06 18:08 ` [patch] voluntary-preempt-2.6.8-rc2-O2 Thomas Charbonnel
@ 2004-08-06 18:44 ` Paulo Marques
0 siblings, 0 replies; 27+ messages in thread
From: Paulo Marques @ 2004-08-06 18:44 UTC (permalink / raw)
To: Thomas Charbonnel; +Cc: Ingo Molnar, Shane Shrybman, linux-kernel
Thomas Charbonnel wrote:
>....
> While accessing the file system (this one is very frequent):
>
> Aug 2 15:32:24 satellite (bash/5298): 1095us non-preemptible critical
> section violated 1000 us preempt threshold starting at
> search_by_key+0x120/0x1140 and ending at voluntary_resched+0x1a/0x70
> Aug 2 15:32:24 satellite [<c010574e>] dump_stack+0x1e/0x30
> Aug 2 15:32:24 satellite [<c01171a6>] touch_preempt_timing+0x36/0x50
> Aug 2 15:32:24 satellite [<c042856a>] voluntary_resched+0x1a/0x70
> Aug 2 15:32:24 satellite [<c0158c44>] __getblk+0x44/0x70
> Aug 2 15:32:24 satellite [<c01ae348>] search_by_key+0x78/0x1140
> Aug 2 15:32:24 satellite [<c01af4bc>]
> search_for_position_by_key+0xac/0x3f0
> Aug 2 15:32:24 satellite [<c019e0c4>]
> reiserfs_allocate_blocks_for_region+0x354/0x15b0
> Aug 2 15:32:24 satellite [<c01a0c4c>] reiserfs_file_write+0x61c/0x8d0
^^^^^^^^
I remember some discussion on a "voluntary preempt" thread, about
reiserfs being bad for latency.
You might search the archives for this, but as far as I remember, ext3
was a better alternative, latency-wise.
--
Paulo Marques - www.grupopie.com
"In a world without walls and fences who needs windows and gates?"
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
@ 2004-08-04 18:46 David M
0 siblings, 0 replies; 27+ messages in thread
From: David M @ 2004-08-04 18:46 UTC (permalink / raw)
To: linux-kernel
Hello
the xruns below happen pretty regular, however i dont think this is just
related to the 02 patch, this happens with standard 2.6.7 kernel. I assume
it has something to do with drm and mga?
Dave
XRUN: pcmC0D0p
[<d48ef1f7>] snd_pcm_period_elapsed+0x2d7/0x430 [snd_pcm]
[<c011046a>] scheduler_tick+0x20a/0x450
[<d48a175a>] snd_ice1712_interrupt+0x1da/0x270 [snd_ice1712]
[<c0118079>] generic_handle_IRQ_event+0x49/0x80
[<c0105b0b>] do_IRQ+0x9b/0x140
[<c0104234>] common_interrupt+0x18/0x20
[<c010d734>] delay_tsc+0x14/0x20
[<c01934c2>] __delay+0x12/0x20
[<d4925218>] mga_do_dma_flush+0x48/0x1c0 [mga]
[<d49262d9>] mga_dma_flush+0x109/0x130 [mga]
[<d4921004>] mga_ioctl+0xe4/0x160 [mga]
[<c015cce0>] sys_ioctl+0x100/0x270
[<c01040c7>] syscall_call+0x7/0xb
XRUN: pcmC0D0p
[<d48ef1f7>] snd_pcm_period_elapsed+0x2d7/0x430 [snd_pcm]
[<c011c764>] update_process_times+0x44/0x50
[<d48a175a>] snd_ice1712_interrupt+0x1da/0x270 [snd_ice1712]
[<c011ca40>] do_timer+0xe0/0xf0
[<c0118079>] generic_handle_IRQ_event+0x49/0x80
[<c0105b0b>] do_IRQ+0x9b/0x140
[<c0104234>] common_interrupt+0x18/0x20
[<c010d734>] delay_tsc+0x14/0x20
[<c01934c2>] __delay+0x12/0x20
[<d4925218>] mga_do_dma_flush+0x48/0x1c0 [mga]
[<d49262d9>] mga_dma_flush+0x109/0x130 [mga]
[<d4921004>] mga_ioctl+0xe4/0x160 [mga]
[<c015cce0>] sys_ioctl+0x100/0x270
[<c01040c7>] syscall_call+0x7/0xb
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: preempt-timing-2.6.8-rc1
@ 2004-07-13 14:39 William Lee Irwin III
2004-07-25 5:15 ` preempt-timing-2.6.8-rc1 Lee Revell
0 siblings, 1 reply; 27+ messages in thread
From: William Lee Irwin III @ 2004-07-13 14:39 UTC (permalink / raw)
To: Lenar L?hmus; +Cc: linux-kernel
On Tue, Jul 13, 2004 at 05:24:32PM +0300, Lenar L?hmus wrote:
> My first results with 2.6.8-rc1 + preempt-timing:
> Boot-time:
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at kmap_atomic+0x13/0x70 and ending at kunmap_atomic+0x5/0x20
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at buffered_rmqueue+0xea/0x190 and ending at
> buffered_rmqueue+0x144/0x190
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at search_by_key+0xe3/0xf70 and ending at do_IRQ+0xec/0x130
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at copy_mm+0x2e6/0x3b0 and ending at copy_mm+0x331/0x3b0
> 11ms non-preemptible critical section violated 1 ms preempt threshold
> starting at ohci_hub_resume+0x3c/0x350 [ohci_hcd] and ending at
> ohci_hub_resume+0x79/0x350 [ohci_hcd]
> 14ms non-preemptible critical section violated 1 ms preempt threshold
> starting at schedule+0x36/0x480 and ending at schedule+0x291/0x480
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at new_inode+0x1a/0x80 and ending at new_inode+0x58/0x80
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at kmap_atomic+0x13/0x70 and ending at kunmap_atomic+0x5/0x20
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at kmap_atomic+0x13/0x70 and ending at kunmap_atomic+0x5/0x20
Boot-time stuff is unlikely to have much done about it. I highly suspect
this is the kmap_atomic() trick for pagecache writes. 1ms is probably
more than your box can handle if so.
On Tue, Jul 13, 2004 at 05:24:32PM +0300, Lenar L?hmus wrote:
> Normal use (logging in, browsing, playing video with mplayer, moving
> windows around, etc):
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at search_by_key+0xe3/0xf70 and ending at
> smp_apic_timer_interrupt+0x9a/0xe0
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at do_munmap+0xd2/0x140 and ending at do_munmap+0xeb/0x140
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at kmap_atomic+0x13/0x70 and ending at kunmap_atomic+0x5/0x20
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at __d_lookup+0x66/0x170 and ending at __d_lookup+0x9c/0x170
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at kmap_atomic+0x13/0x70 and ending at kunmap_atomic+0x5/0x20
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at copy_mm+0x2e6/0x3b0 and ending at copy_mm+0x331/0x3b0
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at find_get_page+0x14/0x60 and ending at find_get_page+0x2f/0x60
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at dev_queue_xmit+0x7f/0x320 and ending at
> dev_queue_xmit+0x27f/0x320
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at dev_queue_xmit+0x7f/0x320 and ending at
> dev_queue_xmit+0x27f/0x320
> 49ms non-preemptible critical section violated 1 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]
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at do_no_page+0xd5/0x310 and ending at do_no_page+0x178/0x310
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at fget+0x28/0x70 and ending at fget+0x41/0x70
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at sys_ioctl+0x42/0x270 and ending at do_IRQ+0xec/0x130
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at dnotify_parent+0x27/0xc0 and ending at dnotify_parent+0x85/0xc0
> 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at buffered_rmqueue+0xea/0x190 and ending at
> buffered_rmqueue+0x144/0x190
If you're getting these in find_get_page() and buffered_rmqueue() either
your box is definitely too slow to handle 1ms or sched_clock()'s results
are questionable on your machine. cpufreq?
On Tue, Jul 13, 2004 at 05:24:32PM +0300, Lenar L?hmus wrote:
> What I've excluded (happens all the time):
> 1) 2ms non-preemptible critical section violated 1 ms preempt threshold
> starting at schedule+0x36/0x480 and ending at do_IRQ+0xec/0x130
> it's 2ms 98%. This really happens all the time. Bogus?
Wild guess is that you took an IRQ in dec_preempt_count() and that threw
your results off. Let me know if the patch below helps at all. My guess
is it'll cause more apparent problems than it solves.
On Tue, Jul 13, 2004 at 05:24:32PM +0300, Lenar L?hmus wrote:
> 2) 49ms non-preemptible critical section violated 1 ms preempt threshold
> starting at sys_ioctl+0x42/0x270 and ending at sys_ioctl+0xbd/0x270
> 40-50 ms most of the time, 12 ms couple of times.
> Let me now if you need those traces for some of these (I've built kernel
> with 8K stacks).
ioctl() is typically grossly inefficient and even involves the BKL.
-- wli
Index: timing-2.6.8-rc1/kernel/sched.c
===================================================================
--- timing-2.6.8-rc1.orig/kernel/sched.c
+++ timing-2.6.8-rc1/kernel/sched.c
@@ -4069,22 +4069,33 @@
void touch_preempt_timing(void)
{
+ unsigned long flags;
+
+ local_irq_save(flags);
if (preempt_count() > 0 && system_state == SYSTEM_RUNNING &&
__get_cpu_var(preempt_entry))
__touch_preempt_timing(__builtin_return_address(0));
+ local_irq_restore(flags);
}
EXPORT_SYMBOL(touch_preempt_timing);
void inc_preempt_count(void)
{
+ unsigned long flags;
+
+ local_irq_save(flags);
preempt_count()++;
if (preempt_count() == 1 && system_state == SYSTEM_RUNNING)
__touch_preempt_timing(__builtin_return_address(0));
+ local_irq_restore(flags);
}
EXPORT_SYMBOL(inc_preempt_count);
void dec_preempt_count(void)
{
+ unsigned long flags;
+
+ local_irq_save(flags);
if (preempt_count() == 1 && system_state == SYSTEM_RUNNING &&
__get_cpu_var(preempt_entry)) {
u64 hold;
@@ -4108,6 +4119,7 @@
__get_cpu_var(preempt_entry) = 0;
}
preempt_count()--;
+ local_irq_restore(flags);
}
EXPORT_SYMBOL(dec_preempt_count);
#endif
^ permalink raw reply [flat|nested] 27+ messages in thread* Re: preempt-timing-2.6.8-rc1
2004-07-13 14:39 preempt-timing-2.6.8-rc1 William Lee Irwin III
@ 2004-07-25 5:15 ` Lee Revell
2004-07-25 22:49 ` preempt-timing-2.6.8-rc1 Lee Revell
0 siblings, 1 reply; 27+ messages in thread
From: Lee Revell @ 2004-07-25 5:15 UTC (permalink / raw)
To: William Lee Irwin III; +Cc: Lenar L?hmus, linux-kernel
On Tue, 2004-07-13 at 10:39, William Lee Irwin III wrote:
> On Tue, Jul 13, 2004 at 05:24:32PM +0300, Lenar L?hmus wrote:
> > What I've excluded (happens all the time):
> > 1) 2ms non-preemptible critical section violated 1 ms preempt threshold
> > starting at schedule+0x36/0x480 and ending at do_IRQ+0xec/0x130
> > it's 2ms 98%. This really happens all the time. Bogus?
>
> Wild guess is that you took an IRQ in dec_preempt_count() and that threw
> your results off. Let me know if the patch below helps at all. My guess
> is it'll cause more apparent problems than it solves.
I applied the patch to 2.6.8-rc2 + voluntary-preempt-I4, and am
constantly getting these:
2ms non-preemptible critical section violated 1 ms preempt threshold starting at schedule+0x65/0x5b0 and ending at do_IRQ+0x101/0x170
[<c01066e7>] dump_stack+0x17/0x20
[<c011426e>] dec_preempt_count+0x10e/0x120
[<c0107cb1>] do_IRQ+0x101/0x170
[<c01062a8>] common_interrupt+0x18/0x20
[<c010421d>] cpu_idle+0x2d/0x40
[<c030a782>] start_kernel+0x1a2/0x1f0
[<c010019f>] 0xc010019f
printk: 1 messages suppressed.
2ms non-preemptible critical section violated 1 ms preempt threshold starting at schedule+0x65/0x5b0 and ending at do_IRQ+0x101/0x170
[<c01066e7>] dump_stack+0x17/0x20
[<c011426e>] dec_preempt_count+0x10e/0x120
[<c0107cb1>] do_IRQ+0x101/0x170
[<c01062a8>] common_interrupt+0x18/0x20
[<c010421d>] cpu_idle+0x2d/0x40
[<c030a782>] start_kernel+0x1a2/0x1f0
[<c010019f>] 0xc010019f
printk: 1 messages suppressed.
2ms non-preemptible critical section violated 1 ms preempt threshold starting at schedule+0x65/0x5b0 and ending at do_IRQ+0x101/0x170
[<c01066e7>] dump_stack+0x17/0x20
[<c011426e>] dec_preempt_count+0x10e/0x120
[<c0107cb1>] do_IRQ+0x101/0x170
[<c01062a8>] common_interrupt+0x18/0x20
[<c010421d>] cpu_idle+0x2d/0x40
[<c030a782>] start_kernel+0x1a2/0x1f0
[<c010019f>] 0xc010019f
This seems related to keyboard input; if I keep a key pressed down they
happen regularly.
These are similar to the XRUN traces I get from ALSA, so I think there
is a real problem here.
Lee
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: preempt-timing-2.6.8-rc1
2004-07-25 5:15 ` preempt-timing-2.6.8-rc1 Lee Revell
@ 2004-07-25 22:49 ` Lee Revell
2004-07-26 8:23 ` preempt-timing-2.6.8-rc1 Ingo Molnar
0 siblings, 1 reply; 27+ messages in thread
From: Lee Revell @ 2004-07-25 22:49 UTC (permalink / raw)
To: William Lee Irwin III; +Cc: Lenar L?hmus, linux-kernel, Andrew Morton, mingo
On Sun, 2004-07-25 at 01:15, Lee Revell wrote:
> On Tue, 2004-07-13 at 10:39, William Lee Irwin III wrote:
> > On Tue, Jul 13, 2004 at 05:24:32PM +0300, Lenar L?hmus wrote:
> > > What I've excluded (happens all the time):
> > > 1) 2ms non-preemptible critical section violated 1 ms preempt threshold
> > > starting at schedule+0x36/0x480 and ending at do_IRQ+0xec/0x130
> > > it's 2ms 98%. This really happens all the time. Bogus?
> >
> > Wild guess is that you took an IRQ in dec_preempt_count() and that threw
> > your results off. Let me know if the patch below helps at all. My guess
> > is it'll cause more apparent problems than it solves.
>
> I applied the patch to 2.6.8-rc2 + voluntary-preempt-I4, and am
> constantly getting these:
>
Here is another one:
Jul 25 18:46:18 mindpipe kernel: 11ms non-preemptible critical section violated 1 ms preempt threshold starting at kmap_atomic+0x10/0x60 and ending at kunmap_atomic+0x8/0x20
Jul 25 18:46:18 mindpipe kernel: [dump_stack+23/32] dump_stack+0x17/0x20
Jul 25 18:46:18 mindpipe kernel: [dec_preempt_count+270/288] dec_preempt_count+0x10e/0x120
Jul 25 18:46:18 mindpipe kernel: [kunmap_atomic+8/32] kunmap_atomic+0x8/0x20
Jul 25 18:46:18 mindpipe kernel: [do_anonymous_page+139/400] do_anonymous_page+0x8b/0x190
Jul 25 18:46:18 mindpipe kernel: [do_no_page+78/784] do_no_page+0x4e/0x310
Jul 25 18:46:18 mindpipe kernel: [handle_mm_fault+193/368] handle_mm_fault+0xc1/0x170
Jul 25 18:46:18 mindpipe kernel: [get_user_pages+288/944] get_user_pages+0x120/0x3b0
Jul 25 18:46:18 mindpipe kernel: [make_pages_present+104/144] make_pages_present+0x68/0x90
Jul 25 18:46:18 mindpipe kernel: [do_mmap_pgoff+998/1568] do_mmap_pgoff+0x3e6/0x620
Jul 25 18:46:18 mindpipe kernel: [sys_mmap2+118/176] sys_mmap2+0x76/0xb0
Jul 25 18:46:18 mindpipe kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Lee
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: preempt-timing-2.6.8-rc1
2004-07-25 22:49 ` preempt-timing-2.6.8-rc1 Lee Revell
@ 2004-07-26 8:23 ` Ingo Molnar
2004-07-26 8:29 ` preempt-timing-2.6.8-rc1 Lee Revell
0 siblings, 1 reply; 27+ messages in thread
From: Ingo Molnar @ 2004-07-26 8:23 UTC (permalink / raw)
To: Lee Revell
Cc: William Lee Irwin III, Lenar L?hmus, linux-kernel, Andrew Morton
* Lee Revell <rlrevell@joe-job.com> wrote:
> Here is another one:
>
> Jul 25 18:46:18 mindpipe kernel: 11ms non-preemptible critical section violated 1 ms preempt threshold starting at kmap_atomic+0x10/0x60 and ending at kunmap_atomic+0x8/0x20
> Jul 25 18:46:18 mindpipe kernel: [do_no_page+78/784] do_no_page+0x4e/0x310
> Jul 25 18:46:18 mindpipe kernel: [handle_mm_fault+193/368] handle_mm_fault+0xc1/0x170
> Jul 25 18:46:18 mindpipe kernel: [get_user_pages+288/944] get_user_pages+0x120/0x3b0
> Jul 25 18:46:18 mindpipe kernel: [make_pages_present+104/144] make_pages_present+0x68/0x90
> Jul 25 18:46:18 mindpipe kernel: [do_mmap_pgoff+998/1568] do_mmap_pgoff+0x3e6/0x620
> Jul 25 18:46:18 mindpipe kernel: [sys_mmap2+118/176] sys_mmap2+0x76/0xb0
> Jul 25 18:46:18 mindpipe kernel: [syscall_call+7/11] syscall_call+0x7/0xb
is this an mmap(MAP_LOCKED) instance [or a process doing an mmap() after
having done an mlockall()]? I'll take a look.
Ingo
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: preempt-timing-2.6.8-rc1
2004-07-26 8:23 ` preempt-timing-2.6.8-rc1 Ingo Molnar
@ 2004-07-26 8:29 ` Lee Revell
2004-07-26 8:35 ` [patch] voluntary-preempt-2.6.8-rc2-J3 Ingo Molnar
0 siblings, 1 reply; 27+ messages in thread
From: Lee Revell @ 2004-07-26 8:29 UTC (permalink / raw)
To: Ingo Molnar
Cc: William Lee Irwin III, Lenar L?hmus, linux-kernel, Andrew Morton
On Mon, 2004-07-26 at 04:23, Ingo Molnar wrote:
> * Lee Revell <rlrevell@joe-job.com> wrote:
>
> > Here is another one:
> >
> > Jul 25 18:46:18 mindpipe kernel: 11ms non-preemptible critical section violated 1 ms preempt threshold starting at kmap_atomic+0x10/0x60 and ending at kunmap_atomic+0x8/0x20
>
> > Jul 25 18:46:18 mindpipe kernel: [do_no_page+78/784] do_no_page+0x4e/0x310
> > Jul 25 18:46:18 mindpipe kernel: [handle_mm_fault+193/368] handle_mm_fault+0xc1/0x170
> > Jul 25 18:46:18 mindpipe kernel: [get_user_pages+288/944] get_user_pages+0x120/0x3b0
> > Jul 25 18:46:18 mindpipe kernel: [make_pages_present+104/144] make_pages_present+0x68/0x90
> > Jul 25 18:46:18 mindpipe kernel: [do_mmap_pgoff+998/1568] do_mmap_pgoff+0x3e6/0x620
> > Jul 25 18:46:18 mindpipe kernel: [sys_mmap2+118/176] sys_mmap2+0x76/0xb0
> > Jul 25 18:46:18 mindpipe kernel: [syscall_call+7/11] syscall_call+0x7/0xb
>
> is this an mmap(MAP_LOCKED) instance [or a process doing an mmap() after
> having done an mlockall()]? I'll take a look.
>
Yes, jackd does exactly this, mlockall then opens the ALSA driver with
mmap.
Lee
^ permalink raw reply [flat|nested] 27+ messages in thread
* [patch] voluntary-preempt-2.6.8-rc2-J3
2004-07-26 8:29 ` preempt-timing-2.6.8-rc1 Lee Revell
@ 2004-07-26 8:35 ` Ingo Molnar
2004-07-26 9:00 ` Lee Revell
0 siblings, 1 reply; 27+ messages in thread
From: Ingo Molnar @ 2004-07-26 8:35 UTC (permalink / raw)
To: Lee Revell
Cc: William Lee Irwin III, Lenar L?hmus, linux-kernel, Andrew Morton
> Yes, jackd does exactly this, mlockall then opens the ALSA driver with
> mmap.
ok, i fixed this in -J3:
http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8-rc2-J3
-J3 also includes a number of softirq latency fixes for the networking
layer.
Ingo
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-J3
2004-07-26 8:35 ` [patch] voluntary-preempt-2.6.8-rc2-J3 Ingo Molnar
@ 2004-07-26 9:00 ` Lee Revell
2004-07-26 12:40 ` Ingo Molnar
0 siblings, 1 reply; 27+ messages in thread
From: Lee Revell @ 2004-07-26 9:00 UTC (permalink / raw)
To: Ingo Molnar
Cc: William Lee Irwin III, Lenar L?hmus, linux-kernel, Andrew Morton
On Mon, 2004-07-26 at 04:35, Ingo Molnar wrote:
> > Yes, jackd does exactly this, mlockall then opens the ALSA driver with
> > mmap.
>
> ok, i fixed this in -J3:
>
> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8-rc2-J3
>
> -J3 also includes a number of softirq latency fixes for the networking
> layer.
>
OK, I will try this. I have not seen any latency issues with softirqs
with -I4. Other than the few remaining hot spots, the only thing that
triggers latencies over 100 usecs during normal operation is the IDE I/O
completion, which can be easily controlled by lowering the max SG size.
Here is one that I think happens when deleting a large number of files,
or a directory that had a large number of files. Specifically, this
happens when bonnie exits.
Jul 25 20:25:36 mindpipe kernel: 16ms non-preemptible critical section violated 1 ms preempt threshold starting at select_parent+0x18/0xd0 and ending at select_parent+0x94/0xd0
Jul 25 20:25:36 mindpipe kernel: [dump_stack+23/32] dump_stack+0x17/0x20
Jul 25 20:25:36 mindpipe kernel: [dec_preempt_count+270/288] dec_preempt_count+0x10e/0x120
Jul 25 20:25:36 mindpipe kernel: [select_parent+148/208] select_parent+0x94/0xd0
Jul 25 20:25:36 mindpipe kernel: [shrink_dcache_parent+22/48] shrink_dcache_parent+0x16/0x30
Jul 25 20:25:36 mindpipe kernel: [d_unhash+60/176] d_unhash+0x3c/0xb0
Jul 25 20:25:36 mindpipe kernel: [vfs_rmdir+108/432] vfs_rmdir+0x6c/0x1b0
Jul 25 20:25:36 mindpipe kernel: [sys_rmdir+207/240] sys_rmdir+0xcf/0xf0
Jul 25 20:25:36 mindpipe kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Jul 25 20:27:45 mindpipe kernel: ALSA /home/rlrevell/cvs/alsa/alsa-driver/alsa-kernel/core/pcm_lib.c:169: XRUN: pcmC0D2c
Jul 25 20:27:45 mindpipe kernel: [dump_stack+23/32] dump_stack+0x17/0x20
Jul 25 20:27:45 mindpipe kernel: [__crc_totalram_pages+1165/3197748] snd_pcm_period_elapsed+0x2c7/0x400 [snd_pcm]
Jul 25 20:27:45 mindpipe kernel: [__crc_totalram_pages+65879/3197748] snd_emu10k1_interrupt+0xd1/0x3c0 [snd_emu10k1]
Jul 25 20:27:45 mindpipe kernel: [handle_IRQ_event+51/96] handle_IRQ_event+0x33/0x60
Jul 25 20:27:45 mindpipe kernel: [do_IRQ+167/368] do_IRQ+0xa7/0x170
Jul 25 20:27:45 mindpipe kernel: [common_interrupt+24/32] common_interrupt+0x18/0x20
Jul 25 20:27:45 mindpipe kernel: [shrink_dcache_parent+22/48] shrink_dcache_parent+0x16/0x30
Jul 25 20:27:45 mindpipe kernel: [d_unhash+60/176] d_unhash+0x3c/0xb0
Jul 25 20:27:45 mindpipe kernel: [vfs_rmdir+108/432] vfs_rmdir+0x6c/0x1b0
Jul 25 20:27:45 mindpipe kernel: [sys_rmdir+207/240] sys_rmdir+0xcf/0xf0
Jul 25 20:27:45 mindpipe kernel: [syscall_call+7/11] syscall_call+0x7/0xb
I am also seeing a lot of shorter timing violations that involve
unmap_vmas. Not sure what triggers this one.
Jul 25 21:05:04 mindpipe kernel: 2ms non-preemptible critical section violated 1 ms preempt threshold starting at unmap_vmas+0x1ff/0x210 and ending at unmap_vmas+0x1f5/0x210
Jul 25 21:05:04 mindpipe kernel: [dump_stack+23/32] dump_stack+0x17/0x20
Jul 25 21:05:04 mindpipe kernel: [dec_preempt_count+270/288] dec_preempt_count+0x10e/0x120
Jul 25 21:05:04 mindpipe kernel: [unmap_vmas+501/528] unmap_vmas+0x1f5/0x210
Jul 25 21:05:04 mindpipe kernel: [exit_mmap+94/336] exit_mmap+0x5e/0x150
Jul 25 21:05:04 mindpipe kernel: [mmput+114/160] mmput+0x72/0xa0
Jul 25 21:05:04 mindpipe kernel: [do_exit+251/1072] do_exit+0xfb/0x430
Jul 25 21:05:04 mindpipe kernel: [do_group_exit+50/192] do_group_exit+0x32/0xc0
Jul 25 21:05:04 mindpipe kernel: [get_signal_to_deliver+605/880] get_signal_to_deliver+0x25d/0x370
Jul 25 21:05:04 mindpipe kernel: [do_signal+86/208] do_signal+0x56/0xd0
Jul 25 21:05:04 mindpipe kernel: [do_notify_resume+71/80] do_notify_resume+0x47/0x50
Jul 25 21:05:04 mindpipe kernel: [work_notifysig+19/21] work_notifysig+0x13/0x15
Jul 25 21:05:04 mindpipe kernel: 2ms non-preemptible critical section violated 1 ms preempt threshold starting at unmap_vmas+0x1ff/0x210 and ending at unmap_vmas+0x1f5/0x210
Jul 25 21:05:04 mindpipe kernel: [dump_stack+23/32] dump_stack+0x17/0x20
Jul 25 21:05:04 mindpipe kernel: [dec_preempt_count+270/288] dec_preempt_count+0x10e/0x120
Jul 25 21:05:04 mindpipe kernel: [unmap_vmas+501/528] unmap_vmas+0x1f5/0x210
Jul 25 21:05:04 mindpipe kernel: [exit_mmap+94/336] exit_mmap+0x5e/0x150
Jul 25 21:05:04 mindpipe kernel: [mmput+114/160] mmput+0x72/0xa0
Jul 25 21:05:04 mindpipe kernel: [do_exit+251/1072] do_exit+0xfb/0x430
Jul 25 21:05:04 mindpipe kernel: [do_group_exit+50/192] do_group_exit+0x32/0xc0
Jul 25 21:05:04 mindpipe kernel: [get_signal_to_deliver+605/880] get_signal_to_deliver+0x25d/0x370
Jul 25 21:05:04 mindpipe kernel: [do_signal+86/208] do_signal+0x56/0xd0
Jul 25 21:05:04 mindpipe kernel: [do_notify_resume+71/80] do_notify_resume+0x47/0x50
Jul 25 21:05:04 mindpipe kernel: [work_notifysig+19/21] work_notifysig+0x13/0x15
Jul 25 21:05:17 mindpipe kernel: 2ms non-preemptible critical section violated 1 ms preempt threshold starting at unmap_vmas+0x1ff/0x210 and ending at unmap_vmas+0x1f5/0x210
Jul 25 21:05:17 mindpipe kernel: [dump_stack+23/32] dump_stack+0x17/0x20
Jul 25 21:05:17 mindpipe kernel: [dec_preempt_count+270/288] dec_preempt_count+0x10e/0x120
Jul 25 21:05:17 mindpipe kernel: [unmap_vmas+501/528] unmap_vmas+0x1f5/0x210
Jul 25 21:05:17 mindpipe kernel: [exit_mmap+94/336] exit_mmap+0x5e/0x150
Jul 25 21:05:17 mindpipe kernel: [mmput+114/160] mmput+0x72/0xa0
Jul 25 21:05:17 mindpipe kernel: [do_exit+251/1072] do_exit+0xfb/0x430
Jul 25 21:05:17 mindpipe kernel: [do_group_exit+50/192] do_group_exit+0x32/0xc0
Jul 25 21:05:17 mindpipe kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Lee
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-J3
2004-07-26 9:00 ` Lee Revell
@ 2004-07-26 12:40 ` Ingo Molnar
2004-07-26 20:47 ` [patch] voluntary-preempt-2.6.8-rc2-J7 Ingo Molnar
0 siblings, 1 reply; 27+ messages in thread
From: Ingo Molnar @ 2004-07-26 12:40 UTC (permalink / raw)
To: Lee Revell
Cc: William Lee Irwin III, Lenar L?hmus, linux-kernel, Andrew Morton
* Lee Revell <rlrevell@joe-job.com> wrote:
> > > Yes, jackd does exactly this, mlockall then opens the ALSA driver with
> > > mmap.
> >
> > ok, i fixed this in -J3:
> >
> > http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8-rc2-J3
> >
> > -J3 also includes a number of softirq latency fixes for the networking
> > layer.
>
> OK, I will try this. I have not seen any latency issues with softirqs
> with -I4. [...]
i'm going through the subsystems systematically and i'm stressing them
beyond normal use. These networking latencies need a high number of in
flight packets, multiple TCP sockets, and a 100 mbit link or faster.
(this is a more common workload on a corporate desktop, but not typical
on a home desktop.)
> [...] Other than the few remaining hot spots, the only thing that
> triggers latencies over 100 usecs during normal operation is the IDE
> I/O completion, which can be easily controlled by lowering the max SG
> size.
ok, i'll take a look whether there's a way to control this without
having to artificially impact the IO patterns.
> Here is one that I think happens when deleting a large number of
> files, or a directory that had a large number of files. Specifically,
> this happens when bonnie exits.
>
> Jul 25 20:25:36 mindpipe kernel:
>
> [...] 16ms non-preemptible critical section violated 1 ms preempt
> threshold starting at select_parent+0x18/0xd0 and ending at
> select_parent+0x94/0xd0
ok, this should be the dcache/icache zapping. I've done some latency
reduction in this area but apparently not enough.
> I am also seeing a lot of shorter timing violations that involve
> unmap_vmas. Not sure what triggers this one.
it might just be a common operation, being hit by the IDE hardirq
latency. (which thus is added to the 'scheduling' latency.) Although
none of the traces show IDE hardirq leftovers [but they might be cleared
from the stack by the time we notice the latency.]
Can you see these 1-2 msec latencies even if you reduce the IDE sg-size
drastically via the max_sectors tunable? (just for testing purposes, to
eliminate hardirq latencies as much as possible)
Ingo
^ permalink raw reply [flat|nested] 27+ messages in thread
* [patch] voluntary-preempt-2.6.8-rc2-J7
2004-07-26 12:40 ` Ingo Molnar
@ 2004-07-26 20:47 ` Ingo Molnar
2004-07-29 22:26 ` [patch] voluntary-preempt-2.6.8-rc2-M5 Ingo Molnar
0 siblings, 1 reply; 27+ messages in thread
From: Ingo Molnar @ 2004-07-26 20:47 UTC (permalink / raw)
To: Lee Revell
Cc: William Lee Irwin III, Lenar L?hmus, linux-kernel, Andrew Morton
i've uploaded -J7:
http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8-rc2-J7
Changes since -J4:
- fix the latency that occurs when a large number of files are deleted:
the guilty one is select_parent() - this should fix the Bonnie latency
reported by Lee Revell.
[ the ones below add conditional reschedule points that dont affect
users who have kernel_preemption turned on:]
- fix /proc/PID/maps latencies
- fix latencies triggered by 'df' on a large filesystem
- fix exec() latency when dealing with large environments
- add might_sleep() to lock_buffer()
Ingo
^ permalink raw reply [flat|nested] 27+ messages in thread
* [patch] voluntary-preempt-2.6.8-rc2-M5
2004-07-26 20:47 ` [patch] voluntary-preempt-2.6.8-rc2-J7 Ingo Molnar
@ 2004-07-29 22:26 ` Ingo Molnar
2004-08-01 19:30 ` [patch] voluntary-preempt-2.6.8-rc2-O2 Ingo Molnar
0 siblings, 1 reply; 27+ messages in thread
From: Ingo Molnar @ 2004-07-29 22:26 UTC (permalink / raw)
To: linux-kernel; +Cc: Andrew Morton, Lee Revell, Scott Wood
i've uploaded the latest version of the voluntary-preempt patch:
http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8-rc2-M5
the biggest change is that i've integrated the irq threads code from
Scott Wood. I've done a number of usability enhancements:
added a new mechanism for finegrained configuration of threadedness /
nonthreadedness at the handler level: there are new:
/proc/irq/<N>/<handler>/threaded
entries that control this behavior. Writing 0 to such an entry makes
that particular handler 'directly executed', writing 1 to it turns it
back to be handled by its own IRQ kernel thread.
E.g. the following command changes the serial line interrupt back to
non-threaded:
echo 0 > /proc/irq/*/serial/threaded
the IRQ threads show up at low PID numbers (typically between 100 and
200) and their RT priority can be set via the 'chrt' utility (part of
schedutils). E.g. setting IRQ 10's irq thread priority back to the
non-RT SCHED_OTHER class can be done via:
chrt --other --pid 0 `pidof 'IRQ 10'`
and to change IRQ 4's thread to SCHED_FIFO and the highest RT priority:
chrt --fifo --pid 99 `pidof 'IRQ 4'`
to get good audio latencies i'd suggest to set the the audio driver's
and the RT-clock driver's IRQ handler to be non-threaded, and to set
jackd's RT priority to higher than 50 (which is the default of the IRQ
threads).
But it would also be interesting to see how the maximum latencies look
like if both the RT-clock and the audio handlers are threaded, and the
two affected IRQ threads are set to SCHED_FIFO 99 priority - they should
preempt everything. The latency increase compared to the 'direct' setup
should show us the real-life overhead of hardirq redirection.
the patch also changes the way the IDE latencies are avoided: based on
suggestions from Jens the latency-critical portion of the driver is now
done without holding ide_lock - and this makes the driver preemptable if
the handler is running in a thread.
if booting with voluntary-preempt=2/0/1 (the default is 3) then all
interrupts default to being non-threaded. Note that the /proc entries
can be used to turn threadedness back on even in this case - this can be
used to debug problematic drivers.
i made the irq-threads code work on SMP too: the IRQ threads now bind
themselves according to the value of /proc/irq/<N>/smp_affinity and
change the binding of that value is modified. IRQ threads only migrate
when it's safe - there will be no migration to another CPU while
executing a hardirq.
Ingo
^ permalink raw reply [flat|nested] 27+ messages in thread
* [patch] voluntary-preempt-2.6.8-rc2-O2
2004-07-29 22:26 ` [patch] voluntary-preempt-2.6.8-rc2-M5 Ingo Molnar
@ 2004-08-01 19:30 ` Ingo Molnar
2004-08-01 22:40 ` Felipe Alfaro Solana
` (4 more replies)
0 siblings, 5 replies; 27+ messages in thread
From: Ingo Molnar @ 2004-08-01 19:30 UTC (permalink / raw)
To: linux-kernel; +Cc: Lee Revell, mingo, Felipe Alfaro Solana
here's the latest version of the voluntary-preempt patch:
http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8-rc2-O2
this patch is mainly a stabilization effort. I dropped the irq-threads
code added in -M5 and rewrote it from scratch based on -L2 - it is
simpler and should be more robust.
The same /proc/irq/* configuration switches are still present, but i
added the following additional rule: if _any_ handler of a given IRQ is
marked as non-threaded then all handlers will be executed non-threaded
as well.
E.g. if you have the following handlers on IRQ 10:
10: 11584 IO-APIC-level eth0, eth1, eth2
and you change /proc/irq/16/eth1/threaded from 1 to 0 then the eth0 and
eth2 handlers will be executed non-threaded as well. (This rule only
enforces what the hardware enforces anyway, none of the previous patches
allowed true separation of these handlers.)
i also changed the IO-APIC level-triggered code to be robust when
redirection is done. The noapic workaround should not be necessary
anymore.
the keyboard lockups are now hopefully all gone too - i've tested
IO-APIC and non-IO-APIC setups as well and NumLock/ScrollLock works fine
in all sorts of workloads.
Let me know if you still have any problems.
Ingo
^ permalink raw reply [flat|nested] 27+ messages in thread* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-01 19:30 ` [patch] voluntary-preempt-2.6.8-rc2-O2 Ingo Molnar
@ 2004-08-01 22:40 ` Felipe Alfaro Solana
2004-08-01 23:20 ` Daniel Schmitt
` (3 subsequent siblings)
4 siblings, 0 replies; 27+ messages in thread
From: Felipe Alfaro Solana @ 2004-08-01 22:40 UTC (permalink / raw)
To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, mingo
On Sun, 2004-08-01 at 21:30 +0200, Ingo Molnar wrote:
> here's the latest version of the voluntary-preempt patch:
>
> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8-rc2-O2
>
> this patch is mainly a stabilization effort. I dropped the irq-threads
> code added in -M5 and rewrote it from scratch based on -L2 - it is
> simpler and should be more robust.
>
> The same /proc/irq/* configuration switches are still present, but i
> added the following additional rule: if _any_ handler of a given IRQ is
> marked as non-threaded then all handlers will be executed non-threaded
> as well.
>
> E.g. if you have the following handlers on IRQ 10:
>
> 10: 11584 IO-APIC-level eth0, eth1, eth2
>
> and you change /proc/irq/16/eth1/threaded from 1 to 0 then the eth0 and
> eth2 handlers will be executed non-threaded as well. (This rule only
> enforces what the hardware enforces anyway, none of the previous patches
> allowed true separation of these handlers.)
>
> i also changed the IO-APIC level-triggered code to be robust when
> redirection is done. The noapic workaround should not be necessary
> anymore.
>
> the keyboard lockups are now hopefully all gone too - i've tested
> IO-APIC and non-IO-APIC setups as well and NumLock/ScrollLock works fine
> in all sorts of workloads.
>
> Let me know if you still have any problems.
I'll be away on vacations for about two weeks, but before leaving, I
wanted to test run 2.6.8-rc2-bk11 plus voluntary-preempt-O2 on my P4 box
with both ACPI and IO/APIC enabled, voluntary-preempt=3 and preempt=1
and it seems to be working fine (I still haven't seen any hard locks).
# cat /proc/interrupts
CPU0
0: 114044 IO-APIC-edge timer
1: 497 IO-APIC-edge i8042
8: 1 IO-APIC-edge rtc
9: 0 IO-APIC-level acpi
14: 9289 IO-APIC-edge ide0
15: 54 IO-APIC-edge ide1
17: 1299 IO-APIC-level Intel 82801BA-ICH2
19: 13408 IO-APIC-level uhci_hcd
20: 279 IO-APIC-level eth0
23: 0 IO-APIC-level uhci_hcd
NMI: 0
LOC: 113967
ERR: 0
MIS: 0
# grep . /proc/irq/*/*/threaded
/proc/irq/14/ide0/threaded:1
/proc/irq/15/ide1/threaded:1
/proc/irq/17/Intel 82801BA-ICH2/threaded:1
/proc/irq/19/uhci_hcd/threaded:1
/proc/irq/1/i8042/threaded:1
/proc/irq/20/eth0/threaded:1
/proc/irq/23/uhci_hcd/threaded:1
/proc/irq/8/rtc/threaded:1
/proc/irq/9/acpi/threaded:1
^ permalink raw reply [flat|nested] 27+ messages in thread* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-01 19:30 ` [patch] voluntary-preempt-2.6.8-rc2-O2 Ingo Molnar
2004-08-01 22:40 ` Felipe Alfaro Solana
@ 2004-08-01 23:20 ` Daniel Schmitt
2004-08-02 6:21 ` Felipe Alfaro Solana
2004-08-01 23:44 ` Matt Heler
` (2 subsequent siblings)
4 siblings, 1 reply; 27+ messages in thread
From: Daniel Schmitt @ 2004-08-01 23:20 UTC (permalink / raw)
To: linux-kernel; +Cc: mingo
On Sunday 01 August 2004 21:30, Ingo Molnar wrote:
> here's the latest version of the voluntary-preempt patch:
>
> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8-rc2-O2
One minor problem: this crashes hard (in interrupt context, stack pointer is
bogus) during early boot iff CONFIG_REGPARM is set. With the earlier patches,
this didn't happen. No ill effects so far with the default ABI; performance
(apart from the usual reiserfs problems) is flawless.
Context: plain 2.6.8-rc2 + O2, gcc (GCC) 3.3.4 20040623 (Gentoo Linux
3.3.4-r1, ssp-3.3.2-2, pie-8.7.6), EPoX 8RDA3+ (nForce2) motherboard. If you
need more information, let me know.
Ciao,
Daniel.
^ permalink raw reply [flat|nested] 27+ messages in thread* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-01 19:30 ` [patch] voluntary-preempt-2.6.8-rc2-O2 Ingo Molnar
2004-08-01 22:40 ` Felipe Alfaro Solana
2004-08-01 23:20 ` Daniel Schmitt
@ 2004-08-01 23:44 ` Matt Heler
2004-08-02 6:26 ` Felipe Alfaro Solana
2004-08-02 1:45 ` Lee Revell
2004-08-02 13:42 ` Lenar Lõhmus
4 siblings, 1 reply; 27+ messages in thread
From: Matt Heler @ 2004-08-01 23:44 UTC (permalink / raw)
To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, mingo, Felipe Alfaro Solana
Ingo,
I get the following error below on with your patch applied on stock
2.6.8-rc2 ...
CC kernel/softirq.o
CC kernel/hardirq.o
kernel/hardirq.c:51: error: conflicting types for 'generic_handle_IRQ_event'
include/linux/irq.h:78: error: previous declaration of
'generic_handle_IRQ_event' was here
kernel/hardirq.c:51: error: conflicting types for 'generic_handle_IRQ_event'
include/linux/irq.h:78: error: previous declaration of
'generic_handle_IRQ_event' was here
make[1]: *** [kernel/hardirq.o] Error 1
make: *** [kernel] Error 2
Matt H.
On Sunday 01 August 2004 12:30 pm, Ingo Molnar wrote:
> here's the latest version of the voluntary-preempt patch:
>
> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8-rc2-O2
>
> this patch is mainly a stabilization effort. I dropped the irq-threads
> code added in -M5 and rewrote it from scratch based on -L2 - it is
> simpler and should be more robust.
>
> The same /proc/irq/* configuration switches are still present, but i
> added the following additional rule: if _any_ handler of a given IRQ is
> marked as non-threaded then all handlers will be executed non-threaded
> as well.
>
> E.g. if you have the following handlers on IRQ 10:
>
> 10: 11584 IO-APIC-level eth0, eth1, eth2
>
> and you change /proc/irq/16/eth1/threaded from 1 to 0 then the eth0 and
> eth2 handlers will be executed non-threaded as well. (This rule only
> enforces what the hardware enforces anyway, none of the previous patches
> allowed true separation of these handlers.)
>
> i also changed the IO-APIC level-triggered code to be robust when
> redirection is done. The noapic workaround should not be necessary
> anymore.
>
> the keyboard lockups are now hopefully all gone too - i've tested
> IO-APIC and non-IO-APIC setups as well and NumLock/ScrollLock works fine
> in all sorts of workloads.
>
> Let me know if you still have any problems.
>
> Ingo
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-01 23:44 ` Matt Heler
@ 2004-08-02 6:26 ` Felipe Alfaro Solana
2004-08-02 7:47 ` Ingo Molnar
0 siblings, 1 reply; 27+ messages in thread
From: Felipe Alfaro Solana @ 2004-08-02 6:26 UTC (permalink / raw)
To: lkml; +Cc: Ingo Molnar, linux-kernel, Lee Revell, mingo
On Sun, 2004-08-01 at 16:44 -0700, Matt Heler wrote:
> Ingo,
>
> I get the following error below on with your patch applied on stock
> 2.6.8-rc2 ...
>
> CC kernel/softirq.o
> CC kernel/hardirq.o
> kernel/hardirq.c:51: error: conflicting types for 'generic_handle_IRQ_event'
> include/linux/irq.h:78: error: previous declaration of
> 'generic_handle_IRQ_event' was here
> kernel/hardirq.c:51: error: conflicting types for 'generic_handle_IRQ_event'
> include/linux/irq.h:78: error: previous declaration of
> 'generic_handle_IRQ_event' was here
> make[1]: *** [kernel/hardirq.o] Error 1
> make: *** [kernel] Error 2
Try removing the "asmlinkage" from the definition of
"generic_handle_IRQ_event" in file "kernel/hardirq.c".
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-02 6:26 ` Felipe Alfaro Solana
@ 2004-08-02 7:47 ` Ingo Molnar
0 siblings, 0 replies; 27+ messages in thread
From: Ingo Molnar @ 2004-08-02 7:47 UTC (permalink / raw)
To: Felipe Alfaro Solana; +Cc: lkml, linux-kernel, Lee Revell
* Felipe Alfaro Solana <felipe_alfaro@linuxmail.org> wrote:
> > kernel/hardirq.c:51: error: conflicting types for 'generic_handle_IRQ_event'
> > include/linux/irq.h:78: error: previous declaration of
> > 'generic_handle_IRQ_event' was here
> Try removing the "asmlinkage" from the definition of
> "generic_handle_IRQ_event" in file "kernel/hardirq.c".
i solved it by adding asmlinkage to irq.h - i've updated the -O2 patch
to include this fix. It needs to stay asmlinkage because e.g. the 4K
stacks code calls it from within an assembly section which assumes the
function follows the normal calling convention (and not e.g. regparm).
Ingo
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-01 19:30 ` [patch] voluntary-preempt-2.6.8-rc2-O2 Ingo Molnar
` (2 preceding siblings ...)
2004-08-01 23:44 ` Matt Heler
@ 2004-08-02 1:45 ` Lee Revell
2004-08-02 2:14 ` Lee Revell
2004-08-02 13:42 ` Lenar Lõhmus
4 siblings, 1 reply; 27+ messages in thread
From: Lee Revell @ 2004-08-02 1:45 UTC (permalink / raw)
To: Ingo Molnar; +Cc: linux-kernel, mingo, Felipe Alfaro Solana
On Sun, 2004-08-01 at 15:30, Ingo Molnar wrote:
> here's the latest version of the voluntary-preempt patch:
>
> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8-rc2-O2
This works as well as L2, possibly better, because the 42 usec result
was with the rtc irq threaded, it is now direct. I will post numbers
soon.
Lee
^ permalink raw reply [flat|nested] 27+ messages in thread* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-02 1:45 ` Lee Revell
@ 2004-08-02 2:14 ` Lee Revell
2004-08-02 7:56 ` Ingo Molnar
0 siblings, 1 reply; 27+ messages in thread
From: Lee Revell @ 2004-08-02 2:14 UTC (permalink / raw)
To: Ingo Molnar; +Cc: linux-kernel, mingo, Felipe Alfaro Solana
On Sun, 2004-08-01 at 21:45, Lee Revell wrote:
> I will post numbers soon.
I will be out of town for a few days, so this is the last batch. On my
hardware at least, all the latency problems have been resolved.
Delay Count
----- -----
6 2880
7 173347
8 311550
9 51870
10 16382
11 12687
12 11757
13 16355
14 14338
15 10980
16 8152
17 6837
18 5331
19 6593
20 5175
21 4181
22 2189
23 1280
24 622
25 461
26 327
27 230
28 195
29 183
30 277
31 271
32 263
33 224
34 143
35 78
36 62
37 78
38 66
39 60
40 55
41 39
42 25
43 14
44 7
45 6
46 5
47 4
48 1
49 5
50 6
51 3
52 1
54 1
55 2
56 2
Lee
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-02 2:14 ` Lee Revell
@ 2004-08-02 7:56 ` Ingo Molnar
0 siblings, 0 replies; 27+ messages in thread
From: Ingo Molnar @ 2004-08-02 7:56 UTC (permalink / raw)
To: Lee Revell; +Cc: linux-kernel, Felipe Alfaro Solana
* Lee Revell <rlrevell@joe-job.com> wrote:
> On Sun, 2004-08-01 at 21:45, Lee Revell wrote:
> > I will post numbers soon.
>
> I will be out of town for a few days, so this is the last batch. On my
> hardware at least, all the latency problems have been resolved.
> 55 2
> 56 2
nice. I'd not worry about the identity of the -M5 latencies too much if
they are gone in -O2.
Ingo
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [patch] voluntary-preempt-2.6.8-rc2-O2
2004-08-01 19:30 ` [patch] voluntary-preempt-2.6.8-rc2-O2 Ingo Molnar
` (3 preceding siblings ...)
2004-08-02 1:45 ` Lee Revell
@ 2004-08-02 13:42 ` Lenar Lõhmus
4 siblings, 0 replies; 27+ messages in thread
From: Lenar Lõhmus @ 2004-08-02 13:42 UTC (permalink / raw)
To: linux-kernel; +Cc: mingo, Felipe Alfaro Solana
Ingo Molnar wrote:
>here's the latest version of the voluntary-preempt patch:
>
> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8-rc2-O2
>
>
Rediff against 2.6.8-rc2-mm2 would be nice if possible (there are some
rejects right now).
Lenar
^ permalink raw reply [flat|nested] 27+ messages in thread
end of thread, other threads:[~2004-08-06 18:44 UTC | newest]
Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-02 15:08 [patch] voluntary-preempt-2.6.8-rc2-O2 Shane Shrybman
2004-08-03 9:19 ` Ingo Molnar
2004-08-03 14:05 ` Shane Shrybman
2004-08-03 14:09 ` Ingo Molnar
2004-08-03 14:45 ` Shane Shrybman
2004-08-03 16:29 ` Ingo Molnar
2004-08-03 17:43 ` Shane Shrybman
2004-08-03 14:19 ` Ingo Molnar
2004-08-04 11:22 ` Rudo Thomas
2004-08-04 11:54 ` Ingo Molnar
2004-08-04 16:05 ` Rudo Thomas
2004-08-04 14:32 ` Peter Zijlstra
2004-08-04 14:34 ` [patch] voluntary-preempt-2.6.8-rc2-mm2-O3 Peter Zijlstra
2004-08-06 18:08 ` [patch] voluntary-preempt-2.6.8-rc2-O2 Thomas Charbonnel
2004-08-06 18:44 ` Paulo Marques
-- strict thread matches above, loose matches on Subject: below --
2004-08-04 18:46 David M
2004-07-13 14:39 preempt-timing-2.6.8-rc1 William Lee Irwin III
2004-07-25 5:15 ` preempt-timing-2.6.8-rc1 Lee Revell
2004-07-25 22:49 ` preempt-timing-2.6.8-rc1 Lee Revell
2004-07-26 8:23 ` preempt-timing-2.6.8-rc1 Ingo Molnar
2004-07-26 8:29 ` preempt-timing-2.6.8-rc1 Lee Revell
2004-07-26 8:35 ` [patch] voluntary-preempt-2.6.8-rc2-J3 Ingo Molnar
2004-07-26 9:00 ` Lee Revell
2004-07-26 12:40 ` Ingo Molnar
2004-07-26 20:47 ` [patch] voluntary-preempt-2.6.8-rc2-J7 Ingo Molnar
2004-07-29 22:26 ` [patch] voluntary-preempt-2.6.8-rc2-M5 Ingo Molnar
2004-08-01 19:30 ` [patch] voluntary-preempt-2.6.8-rc2-O2 Ingo Molnar
2004-08-01 22:40 ` Felipe Alfaro Solana
2004-08-01 23:20 ` Daniel Schmitt
2004-08-02 6:21 ` Felipe Alfaro Solana
2004-08-01 23:44 ` Matt Heler
2004-08-02 6:26 ` Felipe Alfaro Solana
2004-08-02 7:47 ` Ingo Molnar
2004-08-02 1:45 ` Lee Revell
2004-08-02 2:14 ` Lee Revell
2004-08-02 7:56 ` Ingo Molnar
2004-08-02 13:42 ` Lenar Lõhmus
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).