Re: Pin-pointing the root of unusual application latencies

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux