lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <46A758B5.9070602@free.fr>
Date:	Wed, 25 Jul 2007 16:05:41 +0200
From:	John Sigler <linux.kernel@...e.fr>
To:	Ingo Molnar <mingo@...e.hu>
CC:	linux-rt-users@...r.kernel.org, linux-kernel@...r.kernel.org
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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ