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
| ||
|
Message-ID: <86802c440808100221i64b580d7k8b3d6fb2b0f82049@mail.gmail.com>
Date: Sun, 10 Aug 2008 02:21:57 -0700
From: "Yinghai Lu" <yhlu.kernel@...il.com>
To: "Ingo Molnar" <mingo@...e.hu>,
"Thomas Gleixner" <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
"Dhaval Giani" <dhaval@...ux.vnet.ibm.com>,
"Mike Travis" <travis@....com>,
"Andrew Morton" <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, "Yinghai Lu" <yhlu.kernel@...il.com>
Subject: Re: [PATCH 00/43] dyn_array/nr_irqs/sparse_irq support v7
On Sun, Aug 10, 2008 at 12:35 AM, Yinghai Lu <yhlu.kernel@...il.com> wrote:
> Please check dyn_array support for x86
> v3: split changing to nr_irqs to small patches
> fix checkpatch error
> reorder the patch sequence to make dyn_array support go at first
> so could use that with arrays other than NR_IRQS
>
> v4: add CONFIG_HAVE_SPARSE_IRQ with list to use condensed irq_desc array
> so could use 32 init, and init more if needed.
> x86 32bit: have CONFIG_HAVE_DYN_ARRAY
> x86 64bit: have CONFIG_HAVE_DYN_ARRAY and CONFIG_HAVE_SPARSE_IRQ
>
> v5: apply alan cox patch with NR_IRQS for serial at first
> seperate irq_descX with irq_descX_free, so could use -1U as valid irq
> expand /proc/interrupts to process > nr_irqs
> hook irq_2_iommu to irq_desc
> more other arch irq_desc[] to irq_desc(), and kstat_cpu().irqs[] to kstat_irqs_cpu..
>
> v6: fixed checkpatch errors.., only left warning about lines > 80 chars.
> put Eric's patch about NR_IRQS at first
>
> v7: according to Eric, need to take care of that some arch doesn't use generic_hardirqs
> reorder some sequence, squash some patches into previous to make patchset bisectable.
>
> based on tip/master
>
> to do:
> so dyn irq_desc is done, and ready to:
> make create_irq to get irq according to bus/dev/func/vector
together with attached patch
LBSuse:~ # cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5
CPU6 CPU7 CPU8 CPU9 CPU10 CPU11
CPU12 CPU13 CPU14 CPU15 CPU16 CPU17
CPU18 CPU19 CPU20 CPU21 CPU22 CPU23
CPU24 CPU25 CPU26 CPU27 CPU28 CPU29
CPU30 CPU31
0: 255 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-edge timer
1: 2 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-edge i8042
4: 631 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-edge serial
7: 64 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-edge
8: 1 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-edge rtc0
9: 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-fasteoi acpi
12: 4 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-edge i8042
14: 346 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-edge pata_amd
15: 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-edge pata_amd
21: 142 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-fasteoi ohci_hcd:usb2
20: 25 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-fasteoi ehci_hcd:usb1
48: 45 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-fasteoi eth0
49: 14 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-fasteoi
50: 15 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-fasteoi
51: 16 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-fasteoi
57: 36 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-fasteoi qla2xxx
58: 35 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-fasteoi qla2xxx
42: 848 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 IO-APIC-fasteoi aacraid
393472: 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 PCI-MSI-edge aerdrv
426240: 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 PCI-MSI-edge aerdrv
459008: 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 PCI-MSI-edge aerdrv
134611200: 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 PCI-MSI-edge aerdrv
134643968: 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 PCI-MSI-edge aerdrv
134676736: 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 PCI-MSI-edge aerdrv
6291712: 8 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 PCI-MSI-edge lpfc
6295808: 8 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 PCI-MSI-edge lpfc
12714240: 292 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 PCI-MSI-edge ioc0
4194560: 8 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 none-edge
4198656: 8 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 none-edge
5243136: 8 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 none-edge
5247232: 9 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 none-edge
9437440: 9 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 none-edge
9441536: 7 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 none-edge
10486016: 7 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 none-edge
10490112: 7 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 none-edge
137363712: 7 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 none-edge
137367808: 8 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 none-edge
138412288: 6 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 none-edge
138416384: 6 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 none-edge
139460864: 7 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 none-edge
139464960: 7 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 none-edge
12615936: 5 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 none-edge
NMI: 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 Non-maskable interrupts
LOC: 18545 10702 8821 7691 7521 8903
7618 7497 7091 11846 7026 6973
6957 7865 6862 6825 6900 7674
6716 6807 6832 7456 6795 6987 6500
7421 6440 6363 7780 7456 6273
7591 Local timer interrupts
RES: 3131 2258 1735 361 550 4774
135 1125 100 2434 96 92
105 905 96 95 101 962
104 92 99 1839 93 94 103
2696 98 94 1002 1551 101
144 Rescheduling interrupts
CAL: 49 166 132 129 129 184
129 128 129 171 129 129
129 181 129 129 129 163
129 129 128 146 129 129 129
197 129 129 92 167 129
128 function call interrupts
TLB: 1 231 1 0 1 159
4 0 0 98 1 0
0 90 1 0 0 71
1 0 0 84 0 0 0
35 1 0 1 506 7
0 TLB shootdowns
TRM: 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 Thermal event interrupts
THR: 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 Threshold APIC interrupts
SPU: 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 Spurious interrupts
ERR: 64
LBSuse:~ # cat /proc/stat
cpu 259 0 49333 1534809 10 1 15 0 0
cpu0 0 0 3990 46163 8 1 6 0 0
cpu1 30 0 1556 47896 0 0 0 0 0
cpu2 0 0 1412 48509 0 0 0 0 0
cpu3 0 0 1403 48972 0 0 0 0 0
cpu4 0 0 1407 48565 0 0 0 0 0
cpu5 62 0 1488 48980 0 0 0 0 0
cpu6 0 0 1404 48629 0 0 0 0 0
cpu7 0 0 1450 48803 0 0 0 0 0
cpu8 0 0 1404 48691 0 0 0 0 0
cpu9 45 0 1452 48925 0 0 0 0 0
cpu10 0 0 1402 48762 0 0 0 0 0
cpu11 0 0 1403 48794 0 0 0 0 0
cpu12 0 0 1404 48827 0 0 0 0 0
cpu13 19 0 1437 48870 0 0 0 0 0
cpu14 0 0 1402 47298 0 0 0 0 0
cpu15 0 0 1402 47332 0 0 0 0 0
cpu16 0 0 1403 47366 0 0 0 0 0
cpu17 18 0 1428 47360 1 0 0 0 0
cpu18 0 0 1404 47434 0 0 0 0 0
cpu19 0 0 1408 47469 0 0 0 0 0
cpu20 0 0 1510 47404 0 0 0 0 0
cpu21 12 0 1525 47422 0 0 0 0 0
cpu22 0 0 1414 47572 0 0 0 0 0
cpu23 0 0 1415 47606 0 0 0 0 0
cpu24 0 0 1420 47639 0 0 0 0 0
cpu25 51 0 1545 47501 0 0 0 0 0
cpu26 0 0 1424 47710 0 0 0 0 0
cpu27 0 0 1425 47744 0 0 0 0 0
cpu28 0 0 1804 47334 0 0 4 0 0
cpu29 18 0 1456 47778 0 0 0 0 0
cpu30 0 0 1423 47852 0 0 0 0 0
cpu31 0 0 1897 47586 0 0 4 0 0
intr 307885 0:255 1:2 2:0 3:0 4:1918 5:0 6:0 7:64 8:1 9:0 10:0 11:0
12:4 13:0 14:3853 15:0 22:0 21:142 20:25 19:0 18:0 17:0 16:0 48:303
49:14 50:15 51:16 56:0 57:36 58:35 43:0 42:848 41:0 40:0 393472:0
426240:0 459008:0 3211520:0 3277056:0 8454400:0 8519936:0 134611200:0
134643968:0 134676736:0 136380672:0 136446208:0 6291712:8 6295808:8
12714240:292 4194560:8 4198656:8 5243136:8 5247232:9 9437440:9
9441536:7 10486016:7 10490112:7 137363712:7 137367808:8 138412288:6
138416384:6 139460864:7 139464960:7 12615936:5
ctxt 90665
btime 1218359101
processes 8457
procs_running 1
procs_blocked 0
need to change irq no to hex?
YH
View attachment "pci_28bit_irq_x.patch" of type "text/x-patch" (7844 bytes)