Messages in this thread | | | Date | Wed, 25 Jul 2007 16:05:41 +0200 | From | John Sigler <> | Subject | Re: Pin-pointing the root of unusual application latencies |
| |
Ingo Molnar wrote:
> John Sigler wrote: > >> Ingo Molnar wrote: >> >>> does your test-app have higher priority than softirq--4 ? >> >> PID 4 is [softirq-timer/0] and has priority 50 in SCHED_FIFO. My >> process has priority 80 in SCHED_RR. It is waiting for IRQ10. >> >> My user-space app has higher priority than everything except PID 2 >> which is [posix_cpu_timer] > > well what priority does the IRQ 10 kernel thread have? It should be prio > 80 too if it's in your critical path.
Is there some form of priority inheritance? Does the IRQ handler get a priority boost if a high priority task is waiting for it?
I didn't dare mess with the default kernel thread priorities.
# ps -eo pid,class,rtprio,ni,pri,stat,comm PID CLS RTPRIO NI PRI STAT COMMAND 1 TS - 0 24 Ss init 2 FF 99 - 139 S posix_cpu_timer 3 FF 50 - 90 S softirq-high/0 4 FF 50 - 90 S softirq-timer/0 5 FF 50 - 90 S softirq-net-tx/ 6 FF 50 - 90 S softirq-net-rx/ 7 FF 50 - 90 S softirq-block/0 8 FF 50 - 90 S softirq-tasklet 9 FF 50 - 90 S softirq-sched/0 10 FF 50 - 90 S softirq-hrtimer 11 FF 50 - 90 S softirq-rcu/0 12 TS - -10 34 S< desched/0 13 FF 1 - 41 S< events/0 14 TS - -5 19 S< khelper 15 TS - -5 19 S< kthread 34 TS - -5 29 S< kblockd/0 35 TS - -5 19 S< kacpid 36 FF 50 - 90 S< IRQ-7 82 TS - -5 29 S< kseriod 101 TS - 0 16 S pdflush 102 TS - 0 24 S pdflush 103 TS - -5 21 S< kswapd0 104 TS - -5 29 S< flush_filesd/0 105 TS - -5 21 S< aio/0 704 FF 50 - 90 S< IRQ-14 720 FF 50 - 90 S< IRQ-12 721 FF 50 - 90 S< IRQ-1 848 FF 50 - 90 S< IRQ-11 913 FF 50 - 90 S< IRQ-10 922 TS - 0 21 Ss sshd 925 TS - 0 24 Ss+ agetty 926 TS - 0 21 Ss+ agetty 931 TS - 0 24 Rs sshd 933 TS - 0 24 Rs bash
# cat /proc/interrupts CPU0 0: 37 XT-PIC-XT timer 1: 2 XT-PIC-XT i8042 2: 0 XT-PIC-XT cascade 7: 0 XT-PIC-XT acpi 10: 175 XT-PIC-XT eth2, Dta1xx 11: 1129 XT-PIC-XT eth0 12: 4 XT-PIC-XT eth1 14: 21482 XT-PIC-XT ide0 NMI: 0 LOC: 161632 ERR: 0 MIS: 0
IRQ 10 is shared between a NIC and an I/O board.
For eth2, the kernel said: ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [LNKC] -> GSI 10 (level, low) -> IRQ 10
For Dta1xx, the kernel said: ACPI: PCI Interrupt 0000:02:0e.0[A] -> Link [LNKC] -> GSI 10 (level, low) -> IRQ 10
Is it possible to avoid the two boards sharing IRQ 10?
Regards. - 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/
| |