On 10/08/2010 02:54 PM, Thomas Gleixner wrote: > On Fri, 8 Oct 2010, Thomas Gleixner wrote: > >> On Wed, 6 Oct 2010, Yinghai Lu wrote: >>> On 10/06/2010 09:01 PM, Thomas Gleixner wrote: >>>> Well, I'm not too happy about this preallocated stuff anyway, which is >>>> the reason for the warning below. >>>> >>>>> [ 80.726176] WARNING: at drivers/pci/intr_remapping.c:67 irq_2_iommu_alloc+0x52/0xdc() >>>>> [ 80.745935] Hardware name: Sun Fire X4800 >>>>> [ 80.746179] irq_2_iommu!=NULL irq 8 >>>> >>> >>> no, irq_2_iommu are all dynamically allocated even for irq < 16. >> >> I know. I was talking about the preallocated irq descriptors and the >> handling of it in general. >> >> Nevertheless, that irq_2_iommu stuff does not need it's own allocation >> function. It's bound to a specific irq_cfg anyway, so the next logical >> step is to move irq_2_iommu into struct irq_cfg and get rid of the >> extra allocation/free in intr_remapping.c. > > Forgot to say, that I updated the git tree with all the fallout > fixes. > > git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-sparse-irq.git master > > Can you please retest ? > one warning and two panics [ 37.369332] ------------[ cut here ]------------ [ 37.383782] WARNING: at drivers/pci/intr_remapping.c:67 irq_2_iommu_alloc+0x52/0xdc() [ 37.384463] Hardware name: Sun Fire X4800 [ 37.403803] irq_2_iommu!=NULL irq 9 [ 37.404054] Modules linked in: [ 37.404311] Pid: 1, comm: swapper Not tainted 2.6.36-rc7-tip-yh-01944-ge8a4c5f-dirty #171 [ 37.424042] Call Trace: [ 37.424205] [<ffffffff810787a0>] warn_slowpath_common+0x85/0x9d [ 37.443822] [<ffffffff8107885b>] warn_slowpath_fmt+0x46/0x48 [ 37.444383] [<ffffffff8141c5f6>] ? radix_tree_lookup+0xb/0xd [ 37.463788] [<ffffffff8145f97c>] irq_2_iommu_alloc+0x52/0xdc [ 37.464200] [<ffffffff81ccc593>] ? _raw_spin_lock_irqsave+0x6d/0x7b [ 37.483853] [<ffffffff8145fb4d>] ? alloc_irte+0x97/0x168 [ 37.484296] [<ffffffff8145fbce>] alloc_irte+0x118/0x168 [ 37.503774] [<ffffffff8105062a>] setup_ioapic_irq+0x13f/0x331 [ 37.504278] [<ffffffff81051d70>] setup_IO_APIC_irq_extra+0xce/0xde [ 37.523868] [<ffffffff8104c678>] acpi_gsi_to_irq+0x2a/0x31 [ 37.524475] [<ffffffff814867c8>] ? acpi_ev_sci_xrupt_handler+0x0/0x2b [ 37.543942] [<ffffffff81475056>] acpi_os_install_interrupt_handler+0x31/0xa5 [ 37.563764] [<ffffffff81486826>] acpi_ev_install_sci_handler+0x23/0x25 [ 37.564309] [<ffffffff81485b41>] acpi_ev_install_xrupt_handlers+0x13/0x5f [ 37.583694] [<ffffffff8149fba1>] acpi_enable_subsystem+0x13a/0x145 [ 37.584429] [<ffffffff827f0c75>] ? acpi_init+0x0/0x1a2 [ 37.603653] [<ffffffff827f0a13>] acpi_bus_init+0x26/0x288 [ 37.604032] [<ffffffff81cc920f>] ? printk+0x41/0x43 [ 37.623668] [<ffffffff827f0cf4>] acpi_init+0x7f/0x1a2 [ 37.624130] [<ffffffff810002da>] do_one_initcall+0x57/0x135 [ 37.643480] [<ffffffff827bff7a>] kernel_init+0x167/0x1f1 [ 37.643871] [<ffffffff81034954>] kernel_thread_helper+0x4/0x10 [ 37.663541] [<ffffffff81ccd07c>] ? restore_args+0x0/0x30 [ 37.663951] [<ffffffff827bfe13>] ? kernel_init+0x0/0x1f1 [ 37.683515] [<ffffffff81034950>] ? kernel_thread_helper+0x0/0x10 [ 37.684143] ---[ end trace 5003353dd8ff0030 ]--- [ 59.429741] BUG: unable to handle kernel NULL pointer dereference at (null) [ 59.449366] IP: [<ffffffff8147d715>] acpi_pci_irq_find_prt_entry+0x85/0xb1 [ 59.469016] PGD 0 [ 59.469224] Oops: 0000 [#1] SMP [ 59.469488] last sysfs file: [ 59.469725] CPU 0 [ 59.488959] Modules linked in: [ 59.489246] [ 59.489361] Pid: 1, comm: swapper Tainted: G W 2.6.36-rc7-tip-yh-01944-ge8a4c5f-dirty #171 /Sun Fire X4800 [ 59.509192] RIP: 0010:[<ffffffff8147d715>] [<ffffffff8147d715>] acpi_pci_irq_find_prt_entry+0x85/0xb1 [ 59.529156] RSP: 0018:ffff88385e455d70 EFLAGS: 00010206 [ 59.529481] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff88305e460000 [ 59.549153] RDX: 0000000000000000 RSI: ffffffff8147d6d7 RDI: ffff88305e460000 [ 59.568832] RBP: ffff88385e455da0 R08: 0000000000000001 R09: 000000000000025a [ 59.569424] R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000 [ 59.589507] R13: 0000000000000084 R14: 0000000000000000 R15: 0000000000000001 [ 59.608643] FS: 0000000000000000(0000) GS:ffff880079c00000(0000) knlGS:0000000000000000 [ 59.609242] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 59.628759] CR2: 0000000000000000 CR3: 0000000002466000 CR4: 00000000000006f0 [ 59.629316] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 59.648990] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 59.668728] Process swapper (pid: 1, threadinfo ffff88385e454000, task ffff88305e460000) [ 59.669392] Stack: [ 59.688540] ffff88385e455d90 ffff88085e93c000 ffffffff82808301 0000000000000000 [ 59.689144] <0> ffff88085e93c000 0000000000000001 ffff88385e455e10 ffffffff8147d766 [ 59.708944] <0> ffff88385e455dd0 0000000000000002 ffff88385e6a4700 ffffea00c54a73e0 [ 59.728590] Call Trace: [ 59.728829] [<ffffffff82808301>] ? pci_acpi_init+0x2e/0x89 [ 59.729292] [<ffffffff8147d766>] acpi_pci_irq_lookup+0x25/0x1c3 [ 59.748704] [<ffffffff82808301>] ? pci_acpi_init+0x2e/0x89 [ 59.749313] [<ffffffff8147dd74>] acpi_pci_irq_enable+0x98/0x246 [ 59.768827] [<ffffffff828083a7>] ? pci_subsys_init+0x0/0x4d [ 59.769353] [<ffffffff828083a7>] ? pci_subsys_init+0x0/0x4d [ 59.788753] [<ffffffff82808341>] pci_acpi_init+0x6e/0x89 [ 59.789250] [<ffffffff828083b6>] pci_subsys_init+0xf/0x4d [ 59.808714] [<ffffffff810002da>] do_one_initcall+0x57/0x135 [ 59.828222] [<ffffffff827bff7a>] kernel_init+0x167/0x1f1 [ 59.828677] [<ffffffff81034954>] kernel_thread_helper+0x4/0x10 [ 59.848214] [<ffffffff81ccd07c>] ? restore_args+0x0/0x30 [ 59.848709] [<ffffffff827bfe13>] ? kernel_init+0x0/0x1f1 [ 59.868134] [<ffffffff81034950>] ? kernel_thread_helper+0x0/0x10 [ 59.868525] Code: b7 53 12 41 39 d5 75 20 0f b7 53 14 41 39 d4 75 17 0f b6 53 18 41 39 d7 75 0e 48 c7 c7 80 89 4a 82 e8 08 f6 84 00 eb 20 48 89 c3 <48> 8b 03 48 81 fb c0 89 4a 82 0f 18 08 75 bc 48 c7 c7 80 89 4a [ 59.908388] RIP [<ffffffff8147d715>] acpi_pci_irq_find_prt_entry+0x85/0xb1 [ 59.908973] RSP <ffff88385e455d70> [ 59.928176] CR2: 0000000000000000 [ 59.928496] ---[ end trace 5003353dd8ff0031 ]--- [ 59.928831] Kernel panic - not syncing: Attempted to kill init! [ 59.948349] Pid: 1, comm: swapper Tainted: G D W 2.6.36-rc7-tip-yh-01944-ge8a4c5f-dirty #171 [ 59.968151] Call Trace: [ 59.968346] [<ffffffff81cc90be>] panic+0x91/0x1a1 [ 59.968787] [<ffffffff81ccc63a>] ? _raw_write_unlock_irq+0x30/0x35 [ 59.988375] [<ffffffff8107bbb2>] ? do_exit+0x2d8/0x6cb [ 59.988861] [<ffffffff8107b94c>] do_exit+0x72/0x6cb [ 60.008172] [<ffffffff81079e0d>] ? kmsg_dump+0x13b/0x156 [ 60.008525] [<ffffffff81ccdece>] oops_end+0xb7/0xbf [ 60.028120] [<ffffffff8105b056>] no_context+0x1fc/0x20b [ 60.028555] [<ffffffff8105b1f7>] __bad_area_nosemaphore+0x192/0x1b5 [ 60.048409] [<ffffffff81ccff3b>] ? do_page_fault+0x12d/0x3f1 [ 60.048996] [<ffffffff8105b22d>] bad_area_nosemaphore+0x13/0x15 [ 60.068128] [<ffffffff81cd0005>] do_page_fault+0x1f7/0x3f1 [ 60.068695] [<ffffffff810a8162>] ? __lock_acquire+0x17cf/0x17e1 [ 60.088165] [<ffffffff810a8162>] ? __lock_acquire+0x17cf/0x17e1 [ 60.107677] [<ffffffff81ccd443>] ? error_sti+0x5/0x6 [ 60.108081] [<ffffffff81ccc1b7>] ? trace_hardirqs_off_thunk+0x3a/0x3c [ 60.127699] [<ffffffff81ccd25f>] page_fault+0x1f/0x30 [ 60.128081] [<ffffffff8147d6d7>] ? acpi_pci_irq_find_prt_entry+0x47/0xb1 [ 60.147705] [<ffffffff8147d715>] ? acpi_pci_irq_find_prt_entry+0x85/0xb1 [ 60.148453] [<ffffffff82808301>] ? pci_acpi_init+0x2e/0x89 [ 60.167787] [<ffffffff8147d766>] acpi_pci_irq_lookup+0x25/0x1c3 [ 60.168313] [<ffffffff82808301>] ? pci_acpi_init+0x2e/0x89 [ 60.187769] [<ffffffff8147dd74>] acpi_pci_irq_enable+0x98/0x246 [ 60.188167] [<ffffffff828083a7>] ? pci_subsys_init+0x0/0x4d [ 60.207818] [<ffffffff828083a7>] ? pci_subsys_init+0x0/0x4d [ 60.208205] [<ffffffff82808341>] pci_acpi_init+0x6e/0x89 [ 60.227805] [<ffffffff828083b6>] pci_subsys_init+0xf/0x4d [ 60.228250] [<ffffffff810002da>] do_one_initcall+0x57/0x135 [ 60.247819] [<ffffffff827bff7a>] kernel_init+0x167/0x1f1 [ 60.248195] [<ffffffff81034954>] kernel_thread_helper+0x4/0x10 [ 60.267709] [<ffffffff81ccd07c>] ? restore_args+0x0/0x30 [ 60.268206] [<ffffffff827bfe13>] ? kernel_init+0x0/0x1f1 [ 60.287632] [<ffffffff81034950>] ? kernel_thread_helper+0x0/0x10 [ 70.976633] ACPI: acpi_idle registered with cpuidle [ 70.978833] Monitor-Mwait will be used to enter C-1 state [ 70.996684] Monitor-Mwait will be used to enter C-3 state [ 71.037469] BUG: unable to handle kernel NULL pointer dereference at (null) [ 71.038065] IP: [<ffffffff8141e232>] strcmp+0x4/0x21 [ 71.056510] PGD 0 [ 71.056743] Oops: 0000 [#1] SMP [ 71.056994] last sysfs file: [ 71.057194] CPU 49 [ 71.057317] Modules linked in: [ 71.076724] [ 71.076886] Pid: 1, comm: swapper Tainted: G W 2.6.36-rc7-tip-yh-01944-ge8a4c5f-dirty #171 /Sun Fire x4800 [ 71.096947] RIP: 0010:[<ffffffff8141e232>] [<ffffffff8141e232>] strcmp+0x4/0x21 [ 71.116524] RSP: 0018:ffff8810794c3c00 EFLAGS: 00010246 [ 71.117021] RAX: 0000000000000001 RBX: 0000000000000000 RCX: 0000000000000000 [ 71.136567] RDX: ffff88285b6b6064 RSI: ffff88285b6b6020 RDI: 0000000000000000 [ 71.137218] RBP: ffff8810794c3c00 R08: ffffffff82491388 R09: ffff883000000000 [ 71.156848] R10: 0000000000000000 R11: 0000000000000003 R12: ffff88285b7b7000 [ 71.176524] R13: ffff88285b6b6020 R14: 00000000ffffffef R15: 0000000000000001 [ 71.177081] FS: 0000000000000000(0000) GS:ffff88287f000000(0000) knlGS:0000000000000000 [ 71.196812] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 71.216423] CR2: 0000000000000000 CR3: 0000000002466000 CR4: 00000000000006e0 [ 71.216993] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 71.236653] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 71.237309] Process swapper (pid: 1, threadinfo ffff8810794c2000, task ffff88305b4a8000) [ 71.256941] Stack: [ 71.257101] ffff8810794c3c30 ffffffff81187d7c ffff8810794c3ca0 ffff881078bfda50 [ 71.276856] <0> ffff88103e8b0870 ffff8810794c3ce0 ffff8810794c3c60 ffffffff81187f2f [ 71.296598] <0> ffff88103e8b0870 ffff88103eab7d00 ffff88103e8b0870 ffff8810794c3ce0 [ 71.297227] Call Trace: [ 71.316487] [<ffffffff81187d7c>] sysfs_find_dirent+0x3f/0x59 [ 71.316961] [<ffffffff81187f2f>] __sysfs_add_one+0x2f/0x91 [ 71.336455] [<ffffffff81187fb2>] sysfs_add_one+0x21/0xf6 [ 71.336871] [<ffffffff81188804>] sysfs_do_create_link+0x108/0x1a5 [ 71.356562] [<ffffffff81cccccc>] ? _raw_spin_unlock_irq+0x30/0x36 [ 71.357077] [<ffffffff811888b4>] sysfs_create_link+0x13/0x15 [ 71.376588] [<ffffffff815098f6>] driver_sysfs_add+0x70/0x95 [ 71.377087] [<ffffffff81509b6f>] driver_probe_device+0x6e/0x151 [ 71.396602] [<ffffffff81509cb3>] __driver_attach+0x61/0x85 [ 71.397034] [<ffffffff81509c52>] ? __driver_attach+0x0/0x85 [ 71.416639] [<ffffffff81508d5f>] bus_for_each_dev+0x5c/0x88 [ 71.417058] [<ffffffff81509884>] driver_attach+0x1e/0x20 [ 71.436737] [<ffffffff815094bd>] bus_add_driver+0xfd/0x254 [ 71.437164] [<ffffffff827f2008>] ? acpi_processor_init+0x0/0x10b [ 71.456732] [<ffffffff827f2008>] ? acpi_processor_init+0x0/0x10b [ 71.457236] [<ffffffff81509f31>] driver_register+0x9b/0x108 [ 71.476676] [<ffffffff827f2008>] ? acpi_processor_init+0x0/0x10b [ 71.496278] [<ffffffff81479b71>] acpi_bus_register_driver+0x43/0x46 [ 71.496728] [<ffffffff827f209b>] acpi_processor_init+0x93/0x10b [ 71.516373] [<ffffffff8109c5a2>] ? ktime_get+0x65/0xbf [ 71.516814] [<ffffffff827f2008>] ? acpi_processor_init+0x0/0x10b [ 71.536413] [<ffffffff810002da>] do_one_initcall+0x57/0x135 [ 71.536865] [<ffffffff827bff7a>] kernel_init+0x167/0x1f1 [ 71.556395] [<ffffffff81034954>] kernel_thread_helper+0x4/0x10 [ 71.556900] [<ffffffff81ccd07c>] ? restore_args+0x0/0x30 [ 71.576432] [<ffffffff827bfe13>] ? kernel_init+0x0/0x1f1 [ 71.576874] [<ffffffff81034950>] ? kernel_thread_helper+0x0/0x10 [ 71.596481] Code: 48 ff c1 80 39 00 75 f8 eb 0d 48 ff c1 48 ff ca 75 05 c6 01 00 eb 0e 40 8a 3e 48 ff c6 40 84 ff 40 88 39 75 e5 c9 c3 55 48 89 e5 <8a> 07 8a 16 48 ff c7 48 ff c6 38 d0 74 07 19 c0 83 c8 01 eb 06 [ 71.617378] RIP [<ffffffff8141e232>] strcmp+0x4/0x21 [ 71.636558] RSP <ffff8810794c3c00> [ 71.636814] CR2: 0000000000000000 [ 71.656246] ---[ end trace b7b9396a6ed2edd4 ]--- [ 71.656712] Kernel panic - not syncing: Attempted to kill init! [ 71.657202] Pid: 1, comm: swapper Tainted: G D W 2.6.36-rc7-tip-yh-01944-ge8a4c5f-dirty #171 [ 71.676846] Call Trace: [ 71.696196] [<ffffffff81cc90be>] panic+0x91/0x1a1 [ 71.696532] [<ffffffff81ccc63a>] ? _raw_write_unlock_irq+0x30/0x35 [ 71.716196] [<ffffffff8107bbb2>] ? do_exit+0x2d8/0x6cb [ 71.716710] [<ffffffff8107b94c>] do_exit+0x72/0x6cb [ 71.717104] [<ffffffff81079e0d>] ? kmsg_dump+0x13b/0x156 [ 71.736627] [<ffffffff81ccdece>] oops_end+0xb7/0xbf [ 71.737111] [<ffffffff8105b056>] no_context+0x1fc/0x20b [ 71.756467] [<ffffffff810a8162>] ? __lock_acquire+0x17cf/0x17e1 [ 71.756999] [<ffffffff8105b1f7>] __bad_area_nosemaphore+0x192/0x1b5 [ 71.776547] [<ffffffff81ccff3b>] ? do_page_fault+0x12d/0x3f1 [ 71.776908] [<ffffffff8105b22d>] bad_area_nosemaphore+0x13/0x15 [ 71.796652] [<ffffffff81cd0005>] do_page_fault+0x1f7/0x3f1 [ 71.816151] [<ffffffff81ccd443>] ? error_sti+0x5/0x6 [ 71.816516] [<ffffffff81ccc1b7>] ? trace_hardirqs_off_thunk+0x3a/0x3c [ 71.836242] [<ffffffff81ccd25f>] page_fault+0x1f/0x30 [ 71.836680] [<ffffffff8141e232>] ? strcmp+0x4/0x21 [ 71.837084] [<ffffffff81187d7c>] sysfs_find_dirent+0x3f/0x59 [ 71.856665] [<ffffffff81187f2f>] __sysfs_add_one+0x2f/0x91 [ 71.876096] [<ffffffff81187fb2>] sysfs_add_one+0x21/0xf6 [ 71.876533] [<ffffffff81188804>] sysfs_do_create_link+0x108/0x1a5 [ 71.896120] [<ffffffff81cccccc>] ? _raw_spin_unlock_irq+0x30/0x36 [ 71.896653] [<ffffffff811888b4>] sysfs_create_link+0x13/0x15 [ 71.916203] [<ffffffff815098f6>] driver_sysfs_add+0x70/0x95 [ 71.916754] [<ffffffff81509b6f>] driver_probe_device+0x6e/0x151 [ 71.936229] [<ffffffff81509cb3>] __driver_attach+0x61/0x85 [ 71.936711] [<ffffffff81509c52>] ? __driver_attach+0x0/0x85 [ 71.956235] [<ffffffff81508d5f>] bus_for_each_dev+0x5c/0x88 [ 71.956729] [<ffffffff81509884>] driver_attach+0x1e/0x20 [ 71.976295] [<ffffffff815094bd>] bus_add_driver+0xfd/0x254 [ 71.976802] [<ffffffff827f2008>] ? acpi_processor_init+0x0/0x10b [ 71.996309] [<ffffffff827f2008>] ? acpi_processor_init+0x0/0x10b [ 71.996810] [<ffffffff81509f31>] driver_register+0x9b/0x108 [ 72.016264] [<ffffffff827f2008>] ? acpi_processor_init+0x0/0x10b [ 72.016670] [<ffffffff81479b71>] acpi_bus_register_driver+0x43/0x46 [ 72.036455] [<ffffffff827f209b>] acpi_processor_init+0x93/0x10b [ 72.056001] [<ffffffff8109c5a2>] ? ktime_get+0x65/0xbf [ 72.056441] [<ffffffff827f2008>] ? acpi_processor_init+0x0/0x10b [ 72.076026] [<ffffffff810002da>] do_one_initcall+0x57/0x135 [ 72.076567] [<ffffffff827bff7a>] kernel_init+0x167/0x1f1 [ 72.096004] [<ffffffff81034954>] kernel_thread_helper+0x4/0x10 [ 72.096503] [<ffffffff81ccd07c>] ? restore_args+0x0/0x30 [ 72.116022] [<ffffffff827bfe13>] ? kernel_init+0x0/0x1f1 [ 72.116472] [<ffffffff81034950>] ? kernel_thread_helper+0x0/0x10 -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html