zalon scsi WARNINGs at kernel/dma/mapping.c:290 dma_free_attrs+0x5c/0x84
I tried latest Linux on HP A180C (32-bit pa-risc). It works but the Zalon SCSI driver barfs warnings for GSC addon differential scsi board. The warnings seem to be DMA API related. Packaged 4.19 and self-compiled 5.0.0-rc7 exhibit the same problem. [0.00] Linux version 5.0.0-rc7-00010-g301e361072e5 (mroos@rp3440) (gcc version 7.3.0 (Gentoo 7.3.0-r3 p1.4)) #1 Mon Feb 18 23:04:37 EET 2019 [0.00] FP[0] enabled: Rev 1 Model 15 [0.00] The 32-bit Kernel has started... [0.00] Kernel default page size is 4 KB. Huge pages disabled. [0.00] printk: bootconsole [ttyB0] enabled [0.00] Initialized PDC Console for debugging. [0.00] Determining PDC firmware type: System Map. [0.00] model 5160 0481 7750aa9b 10f0 0004 00ba 00ba [0.00] vers 0018 [0.00] CPUID vers 15 rev 24 (0x01f8) [0.00] model 9000/800/A180c [0.00] Memory Ranges: [0.00] 0) Start 0x End 0x0fff Size256 MB [0.00] Total Memory: 256 MB [0.00] PDT: Firmware does not provide any page deallocation information. [0.00] On node 0 totalpages: 65536 [0.00] Normal zone: 512 pages used for memmap [0.00] Normal zone: 0 pages reserved [0.00] Normal zone: 65536 pages, LIFO batch:15 [0.00] LED display at f0190001 registered [0.00] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [0.00] pcpu-alloc: [0] 0 [0.00] Built 1 zonelists, mobility grouping on. Total pages: 65024 [0.00] Kernel command line: root=/dev/sda5 HOME=/ console=ttyS0 TERM=vt102 palo_kernel=2/vmlinux [0.00] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) [0.00] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) [0.00] Memory: 253612K/262144K available (4216K kernel code, 567K rwdata, 536K rodata, 256K init, 384K bss, 8532K reserved, 0K cma-reserved) [0.00] SLUB: HWalign=16, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [0.00] NR_IRQS: 96 [0.44] sched_clock: 32 bits at 180MHz, resolution 5ns, wraps every 11930464253ns [0.084054] Console: colour dummy device 160x64 [0.124622] Calibrating delay loop... 119.29 BogoMIPS (lpj=238592) [0.233202] pid_max: default: 32768 minimum: 301 [0.275427] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [0.342213] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [0.421916] devtmpfs: initialized [0.448862] random: get_random_u32 called from bucket_table_alloc.isra.7+0x94/0x1d4 with crng_init=0 [0.547811] clocksource: jiffies: mask: 0x max_cycles: 0x, max_idle_ns: 764504178510 ns [0.653888] futex hash table entries: 256 (order: -1, 3072 bytes) [0.714958] NET: Registered protocol family 16 [0.755539] Searching for devices... [0.789348] Two devices have hardware path [8]. IODC data for second device: 505700 Rearranging GSC cards sometimes helps [1.156945] Found devices: [1.174507] 1. Phantom PseudoBC GSC+ Port at 0x4290772992 [8] { 7, 0x0, 0x504, 0x0 } [1.259789] 2. Bluefish Add-on FW-SCSI at 0x4294459392 [8/4] { 4, 0x1, 0x013, 0x00089 } [1.343972] 3. HP HSC-PCI Cards at 0x4294475776 [8/8] { 4, 0x0, 0x004, 0x0009d } [1.420505] 4. Staccato 180 Lasi at 0x4291821568 [8/16] { 11, 0x0, 0x05f, 0x00081 }, additional addresses: 0xffd0c000 0xffc0 [1.550587] 5. Staccato 180 Core LAN RS-232 at 0x4291842048 [8/16/4] { 10, 0x0, 0x05f, 0x0008c } [1.644603] 6. Staccato 180 Core SCSI at 0x4291846144 [8/16/5] { 10, 0x0, 0x05f, 0x00082 } [1.732063] 7. Dino PCI Bridge at 0x4294443008 [8/0] { 13, 0x3, 0x680, 0xa }, additional addresses: 0xf180 [1.846843] 8. Staccato L2 180 (A Class 180) at 0x4294696960 [62] { 0, 0x0, 0x516, 0x4 } [1.936483] 9. Memory at 0x4294701056 [63] { 1, 0x0, 0x08b, 0x9 } [2.001002] 10. Dino PS/2 Port at 0x4294447104 [1] { 10, 0x0, 0x007, 0x00096 } [2.075348] 11. Dino RS-232 at 0x4294455296 [3] { 10, 0x0, 0x007, 0x0008c } [2.146410] Enabling regular chassis codes support v0.05 [2.285659] CPU(s): 1 x PA7300LC (PCX-L2) at 180.00 MHz [2.339638] alternatives: applied 147 out of 160 patches [2.394261] Whole cache flush 9407 cycles, flushing 5840896 bytes 665415 cycles [2.394286] Cache flush threshold set to 5 KiB [2.434063] Whole TLB flush 695 cycles, Range flush 5840896 bytes 63066 cycles [2.508419] Calculated TLB flush threshold 64 KiB [2.551066] TLB flush threshold set to 64 KiB [2.589448] Lasi version 0 at 0xffd0 found. [2.630599] Dino version 3.x (card mode) found at 0xfff88000 [2.736018] dino 8:8: PCI host bridge to bus :00 [2.781991] pci_bus :00: root bus resource [io 0x-0x] [2.843257] pci_bus :00: root bus resource [bus 00-ff] [2.895856] pci
5.1-rc1: mpt init crash in scsi_map_dma, dma_4v_map_sg on sparc64
ca74]: bus_add_driver+0x134/0x200 [ 17.602419] Caller[0070e790]: driver_register+0x70/0x120 [ 17.602478] Caller[009f2e4c]: mptsas_init+0x110/0x138 [ 17.602536] Caller[00427490]: do_one_initcall+0x30/0x180 [ 17.602593] Caller[009dab9c]: kernel_init_freeable+0x144/0x1e4 [ 17.602644] Instruction DUMP: [ 17.602648] 80a1c001 [ 17.611695] b9651003 [ 17.611728] 80a6a000 [ 17.611762] [ 17.625496] 8330700d [ 17.625529] 04400126 [ 17.625562] c277a79f [ 17.649127] c25fa7df [ 17.649161] 84103fff [ 17.649193] [ 17.664729] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0009 -- Meelis Roos ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
IOMMU+DMAR causing NMIs-s (was: 4.7-rc6: NMI in intel_idle on HP Proliant G6)
> > > > On HP Proliant DL360 G6, Debian unstable 4.6 kernel runs fine but > > > > selfcompiled 4.7-rc6 and 4.7-rc7 sometimes crash with NMI from > > > > intel_idle. Sometimes it boots fine. With intel_idle disabled, it has > > > > booted successful so far in 2 tries, one with rc6 and one with rc7. > > > > > > More testing shows it can NMI on acpi_idle too, not just intel_idle. > > > > > > > Screenshot with some backtrace: > > > > http://kodu.ut.ee/~mroos/intel-idle-NMI.png > > > > > > http://kodu.ut.ee/~mroos/acpi-idle-NMI.png > > > > There were almost no changes in the ACPI idle driver between 4.6 and > > 4.7-rc, so the reason is somewhere else. > > > > Have you tried any earlier 4.7-rc? > > I tried selfcompiled 4.6.0 now with the same conf that 4.7-rc's have and > after multiple tries I got the same NMI out of 4.6 too, from kernfs > lookup (that seems to just a random victim). > > So this is not a 4.7 regression and probably not idle-releated. > > Seems my kernel config is causing NMI-s for some reason. I was suprised > to see the kernel recommend to see HP ILO logs on HP but there was > nothing in the logs. Bisecting kernel configs shows that it's DMAR+IOMMU. When it is activated, there is high probability of NMI-s in random places. So it is no longer relevant to linux-pm and intel-idle, dropped CC-s and added iommu related mails. Full dmesg from successful boot with IOMMU enabled is below. > # > # DMA Devices > # > CONFIG_DMA_ENGINE=y > CONFIG_DMA_VIRTUAL_CHANNELS=y > CONFIG_DMA_ACPI=y > CONFIG_INTEL_IDMA64=m > CONFIG_INTEL_IOATDMA=m > # CONFIG_QCOM_HIDMA_MGMT is not set > # CONFIG_QCOM_HIDMA is not set > # CONFIG_DW_DMAC is not set > # CONFIG_DW_DMAC_PCI is not set > CONFIG_HSU_DMA=y [...] > # > # Generic IOMMU Pagetable Support > # > CONFIG_IOMMU_IOVA=y > # CONFIG_AMD_IOMMU is not set > CONFIG_DMAR_TABLE=y > CONFIG_INTEL_IOMMU=y > CONFIG_INTEL_IOMMU_SVM=y > CONFIG_INTEL_IOMMU_DEFAULT_ON=y CONFIG_INTEL_IOMMU_DEFAULT_ON=y is the setting that switches the instability on and off. > CONFIG_INTEL_IOMMU_FLOPPY_WA=y > CONFIG_IRQ_REMAP=y [0.00] Linux version 4.6.0 (mroos@dl360g6) (gcc version 5.4.0 20160609 (Debian 5.4.0-6) ) #9 SMP Wed Jul 13 01:00:26 EEST 2016 [0.00] Command line: BOOT_IMAGE=/boot/vmlinuz-4.6.0 root=/dev/sda1 ro [0.00] x86/fpu: Legacy x87 FPU detected. [0.00] x86/fpu: Using 'eager' FPU context switches. [0.00] e820: BIOS-provided physical RAM map: [0.00] BIOS-e820: [mem 0x-0x0009f3ff] usable [0.00] BIOS-e820: [mem 0x0009f400-0x0009] reserved [0.00] BIOS-e820: [mem 0x000f-0x000f] reserved [0.00] BIOS-e820: [mem 0x0010-0xdf61efff] usable [0.00] BIOS-e820: [mem 0xdf61f000-0xdf62bfff] ACPI data [0.00] BIOS-e820: [mem 0xdf62c000-0xdf62cfff] usable [0.00] BIOS-e820: [mem 0xdf62d000-0xe3ff] reserved [0.00] BIOS-e820: [mem 0xfec0-0xfee0] reserved [0.00] BIOS-e820: [mem 0xff80-0x] reserved [0.00] BIOS-e820: [mem 0x0001-0x00061fffefff] usable [0.00] NX (Execute Disable) protection: active [0.00] SMBIOS 2.7 present. [0.00] DMI: HP ProLiant DL360 G6, BIOS P64 01/22/2015 [0.00] e820: update [mem 0x-0x0fff] usable ==> reserved [0.00] e820: remove [mem 0x000a-0x000f] usable [0.00] e820: last_pfn = 0x61 max_arch_pfn = 0x4 [0.00] MTRR default type: write-back [0.00] MTRR fixed ranges enabled: [0.00] 0-9 write-back [0.00] A-B uncachable [0.00] C-F write-protect [0.00] MTRR variable ranges enabled: [0.00] 0 base 00E000 mask FFE000 uncachable [0.00] 1 disabled [0.00] 2 disabled [0.00] 3 disabled [0.00] 4 disabled [0.00] 5 disabled [0.00] 6 disabled [0.00] 7 disabled [0.00] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WC UC- WT [0.00] e820: last_pfn = 0xdf62d max_arch_pfn = 0x4 [0.00] found SMP MP-table at [mem 0x000f4f80-0x000f4f8f] mapped at [880f4f80] [0.00] Base memory trampoline at [88099000] 99000 size 24576 [0.00] BRK [0x01d35000, 0x01d35fff] PGTABLE [0.00] BRK [0x01d36000, 0x01d36fff] PGTABLE [0.00] BRK [0x01d37000, 0x01d37fff] PGTABLE [0.00] BRK [0x01d38000, 0x01d38fff] PGTABLE [0.00] BRK [0x01d39000, 0x01d39fff] PGTABLE [0.00] BRK [0x01d3a000, 0x01d3afff] PGTABLE [0.00] RAMDISK: [mem 0x21572000-0x2cab0fff] [0.00] ACPI: Early table checksum verification disabled [0.00] ACPI: RSDP 0x000F4F00 24 (v02 HP) [0.00] ACPI: XSDT 0xDF620140 B4 (v01 HP
Re: IOMMU+DMAR causing NMIs-s (was: 4.7-rc6: NMI in intel_idle on HP Proliant G6)
> > Bisecting kernel configs shows that it's DMAR+IOMMU. When it is > > activated, there is high probability of NMI-s in random places. > > Hmm, strange. But nothing could really surprise when you have an HP > BIOS. BIOS P64 01/22/2015. There seems to be a newer 2015.08.16 BIOS out but the release notes only describe updated CPU microcode for security reasons. > Can you probably use the faulty config and bisect this down to a > specific commit? In v4.7-rc1 some changes to the iova-allocation code > got merged, but I have no idea how those could cause NMIs. Will try but I do not know a working base yet - this was broken in both 4.6 and 4.7-rc. -- Meelis Roos (mr...@linux.ee) ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: IOMMU+DMAR causing NMIs-s (was: 4.7-rc6: NMI in intel_idle on HP Proliant G6)
> > > > Bisecting kernel configs shows that it's DMAR+IOMMU. When it is > > > > activated, there is high probability of NMI-s in random places. > > > > > > Hmm, strange. But nothing could really surprise when you have an HP > > > BIOS. > > > > BIOS P64 01/22/2015. There seems to be a newer 2015.08.16 BIOS out but > > the release notes only describe updated CPU microcode for security > > reasons. > > It is probably something HP is selling as a "feature" and not a BIOS > bug. ROM setup settings that might be of interest: Advanced memory protection: advanced ecc support No-Execute memory protection: enabled Intel virtualization technology: enabled Intel hyperthreading options: enabled Processor core disable: all cored enabled Intel turbo boost technology: enabled Intel VT-d: enabled HP power profile: custom HP power regulator: hp dynamic power savings mode (not OS control) Intel qpi link power management: enabled Minimum processor idle power core state: C6 Minimum processor idle power package state: C6 Dynamic power saving mode response: fast Collaborative power control: enabled MPS table: full table apic NMI debug button: enabled PCI bus padding options: enabled HW prefetcher: enabled Adjacent sector prefetch: enabled Node interleaving: disabled > > > Can you probably use the faulty config and bisect this down to a > > > specific commit? In v4.7-rc1 some changes to the iova-allocation code > > > got merged, but I have no idea how those could cause NMIs. > > > > Will try but I do not know a working base yet - this was broken in both > > 4.6 and 4.7-rc. > > Oh, in that case it is not related to the recent iova changes. Does the > box have any hardware error log which you can access and send to us > (right after some NMIs happened)? Nothing in ILO log or integrated management log (IML). -- Meelis Roos (mr...@linux.ee) ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: IOMMU+DMAR causing NMIs-s (was: 4.7-rc6: NMI in intel_idle on HP Proliant G6)
> > > Can you probably use the faulty config and bisect this down to a > > > specific commit? In v4.7-rc1 some changes to the iova-allocation code > > > got merged, but I have no idea how those could cause NMIs. > > > > Will try but I do not know a working base yet - this was broken in both > > 4.6 and 4.7-rc. > > Oh, in that case it is not related to the recent iova changes. Does the > box have any hardware error log which you can access and send to us > (right after some NMIs happened)? Just got http://kodu.ut.ee/~mroos/4.6-dmar-fault2.png when playing with BIOS settings (disabling NUMA). It is the first time I see at least some info in NMI decode. -- Meelis Roos (mr...@linux.ee) ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: IOMMU+DMAR causing NMIs-s
> >> Thanks. So device 00:1e.0 is a PCI-bridge which has some 32-bit > >> PCI-devices behind it. One of these devices tries to read address > >> 0xb000, which is blocked by the IOMMU and causes the fault seen in the > >> screen-shot. The fault also causes a PCI-error which is then reported > >> through the NMI, causing your kernel panic. > >> > >> So the 32bit PCI devices behind the bridge are: > >> > >> 01:03.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] > >> ES1000 (rev 02) (prog-if 00 [VGA controller]) > >> 01:04.0 System peripheral: Compaq Computer Corporation Integrated Lights > >> Out Controller (rev 03) > >> 01:04.2 System peripheral: Compaq Computer Corporation Integrated Lights > >> Out Processor (rev 03) > >> 01:04.4 USB controller: Hewlett-Packard Company Integrated Lights-Out > >> Standard Virtual USB Controller (prog-if 00 [UHCI]) > >> 01:04.6 IPMI SMIC interface: Hewlett-Packard Company Integrated Lights-Out > >> Standard KCS Interface (prog-if 01) > >> > >> Can you try to disable this 'Lights Out' processor? Maybe it is causing > >> the issues. On the other side, the radeon driver for the ATI card is > >> also know for causing faults from time to time. Can you capture the > >> kernel messages right before a crash too? > > > > IIRC, blacklisting the hpwdt module can defuse those NMIs and might > > help us see more of the actual DMAR faults. Blacklist in modprobe.d > > and rebuild initrd. Thanks, > > > > Alex > > > > PS - never assume BIOS release notes are actually complete > > I agree. I'd do the BIOS update and also make sure the iLO FW is current. OK, updates to the latest BIOS, CPU microcode revison is now 0x1b instead of 0x19. ILO2 fw is already the latest. The NMI-s still happen. Disabled hpwdt. Now most boots are fine, only one hung with radeon loading: http://kodu.ut.ee/~mroos/boot-radeon-1.png Vusal patterns also remind me that all the previous hangs were before radeon mode change - once radeon changes the mode, it already works. -- Meelis Roos (mr...@linux.ee) ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: IOMMU+DMAR causing NMIs-s
addr 0x8800d265b000 [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [drm] Driver supports precise vblank timestamp query. [drm] radeon: irq initialized. [drm] Loading R100 Microcode [drm] radeon: ring at 0xC8001000 [drm] ring test succeeded in 1 usecs === [drm] Initialized drm 1.1.0 20060810 Error: Driver 'pcspkr' is already registered, aborting... ipmi_si :01:04.6: Using irq 21 ipmi_si :01:04.6: Found new BMC (man_id: 0x0b, prod_id: 0x2000, dev_id: 0x11) ipmi_si :01:04.6: IPMI kcs interface initialized [drm] radeon kernel modesetting enabled. CRAT table not found Finished initializing topology ret=0 kfd kfd: Initialized module [drm] initializing kernel modesetting (RV100 0x1002:0x515E 0x103C:0x31FB 0x02). [drm] register mmio base: 0xF5FF [drm] register mmio size: 65536 radeon :01:03.0: VRAM: 128M 0xE800 - 0xEFFF (64M used) radeon :01:03.0: GTT: 512M 0xC800 - 0xE7FF [drm] Detected VRAM RAM=128M, BAR=128M [drm] RAM width 16bits DDR [TTM] Zone kernel: Available graphics memory: 12373318 kiB [TTM] Zone dma32: Available graphics memory: 2097152 kiB [TTM] Initializing pool allocator [TTM] Initializing DMA pool allocator [drm] radeon: 64M of VRAM memory ready [drm] radeon: 512M of GTT memory ready. [drm] GART: num cpu pages 131072, num gpu pages 131072 NMI: PCI system error (SERR) for reason b1 on CPU 0. Dazed and confused, but trying to continue DMAR: DRHD: handling fault status reg 2 DMAR: DMAR:[DMA Read] Request device [00:1e.0] fault addr 1000 DMAR:[fault reason 06] PTE Read access is not set [drm] PCI GART of 512M enabled (table at 0xFFF0). radeon :01:03.0: WB disabled radeon :01:03.0: fence driver on ring 0 use gpu addr 0xc800 and cpu addr 0x8800ce36a000 [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [drm] Driver supports precise vblank timestamp query. [drm] radeon: irq initialized. [drm] Loading R100 Microcode [drm] radeon: ring at 0xC8001000 -- Meelis Roos (mr...@linux.ee) ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
pata-macio WARNING at dmam_alloc_coherent+0xec/0x110
I tested 4.16-rc1 on my PowerMac G4 and got the following warning from macio pata driver. Since pata-macio has no recent changes, dma-mapping.h changes seem to be related. [0.228408] MacIO PCI driver attached to Keylargo chipset [1.283931] pata-macio 0.0001f000:ata-4: Activating pata-macio chipset KeyLargo ATA-4, Apple bus ID 2 [1.284398] WARNING: CPU: 0 PID: 1 at ./include/linux/dma-mapping.h:516 dmam_alloc_coherent+0xec/0x110 [1.284689] Modules linked in: [1.284797] CPU: 0 PID: 1 Comm: swapper Not tainted 4.16.0-rc1 #60 [1.284991] NIP: c03259ec LR: c0325948 CTR: [1.285150] REGS: ef047c10 TRAP: 0700 Not tainted (4.16.0-rc1) [1.285337] MSR: 00029032 CR: 24fff228 XER: 2000 [1.285559] GPR00: c0325948 ef047cc0 ef048000 ef1321b0 ef1321bc GPR08: c04f1bd0 22fff884 c0004c80 GPR16: c066 c05f0960 GPR24: 0007 c063d7a8 ef1e59ac 1020 ef1321b0 ef135c18 014000c0 [1.303085] NIP [c03259ec] dmam_alloc_coherent+0xec/0x110 [1.308751] LR [c0325948] dmam_alloc_coherent+0x48/0x110 [1.314511] Call Trace: [1.320187] [ef047cc0] [c0325948] dmam_alloc_coherent+0x48/0x110 (unreliable) [1.326133] [ef047ce0] [c0370a90] pata_macio_port_start+0x44/0xb8 [1.332110] [ef047d00] [c0355ed4] ata_host_start.part.5+0x138/0x254 [1.338100] [ef047d30] [c035c1e8] ata_host_activate+0x84/0x1a0 [1.344007] [ef047d50] [c0371214] pata_macio_common_init+0x3b0/0x608 [1.349890] [ef047db0] [c0336f9c] macio_device_probe+0x60/0x120 [1.355761] [ef047dd0] [c031868c] driver_probe_device+0x25c/0x35c [1.361576] [ef047e00] [c031887c] __driver_attach+0xf0/0xf4 [1.367320] [ef047e20] [c0316340] bus_for_each_dev+0x80/0xc0 [1.373051] [ef047e50] [c031782c] bus_add_driver+0x144/0x258 [1.378805] [ef047e70] [c03190dc] driver_register+0x8c/0x140 [1.384580] [ef047e80] [c060ce14] pata_macio_init+0x5c/0x8c [1.390303] [ef047ea0] [c0004aa0] do_one_initcall+0x48/0x18c [1.396000] [ef047f00] [c05f1214] kernel_init_freeable+0x12c/0x1ec [1.401615] [ef047f30] [c0004c98] kernel_init+0x18/0x128 [1.407208] [ef047f40] [c00122e4] ret_from_kernel_thread+0x5c/0x64 [1.412829] Instruction dump: [1.418409] 939d 4bff6329 80010024 7fe3fb78 8361000c 83810010 7c0803a6 83a10014 [1.424201] 83c10018 83e1001c 38210020 4e800020 <0fe0> 4b84 7fa3eb78 3be0 [1.430020] ---[ end trace 89c0f4a91a110769 ]--- -- Meelis Roos (mr...@linux.ee) ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: pata-macio WARNING at dmam_alloc_coherent+0xec/0x110
> Does this fix your warning? > > diff --git a/drivers/macintosh/macio_asic.c b/drivers/macintosh/macio_asic.c > index 62f541f968f6..07074820a167 100644 > --- a/drivers/macintosh/macio_asic.c > +++ b/drivers/macintosh/macio_asic.c > @@ -375,6 +375,7 @@ static struct macio_dev * macio_add_one_device(struct > macio_chip *chip, > dev->ofdev.dev.of_node = np; > dev->ofdev.archdata.dma_mask = 0xUL; > dev->ofdev.dev.dma_mask = &dev->ofdev.archdata.dma_mask; > + dev->ofdev.dev.coherent_dma_mask = dev->ofdev.archdata.dma_mask; > dev->ofdev.dev.parent = parent; > dev->ofdev.dev.bus = &macio_bus_type; > dev->ofdev.dev.release = macio_release_dev; Yes, it does - thank you! Tested-by: Meelis Roos -- Meelis Roos (mr...@linux.ee) ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: 5.1-rc1: mpt init crash in scsi_map_dma, dma_4v_map_sg on sparc64
/0x80 [ 17.602360] Caller[0070ca74]: bus_add_driver+0x134/0x200 [ 17.602419] Caller[0070e790]: driver_register+0x70/0x120 [ 17.602478] Caller[009f2e4c]: mptsas_init+0x110/0x138 [ 17.602536] Caller[00427490]: do_one_initcall+0x30/0x180 [ 17.602593] Caller[009dab9c]: kernel_init_freeable+0x144/0x1e4 [ 17.602644] Instruction DUMP: [ 17.602648] 80a1c001 [ 17.611695] b9651003 [ 17.611728] 80a6a000 [ 17.611762] [ 17.625496] 8330700d [ 17.625529] 04400126 [ 17.625562] c277a79f [ 17.649127] c25fa7df [ 17.649161] 84103fff [ 17.649193] [ 17.664729] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0009 -- Meelis Roos ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: 5.1-rc1: mpt init crash in scsi_map_dma, dma_4v_map_sg on sparc64
mov %l7, %i4 448570: a8 10 00 18 mov %i0, %l4 448574: 17 00 00 08 sethi %hi(0x2000), %o3 448578: b0 10 00 0c mov %o4, %i0 44857c: ae 10 00 01 mov %g1, %l7 448580: c2 5a 20 18 ldx [ %o0 + 0x18 ], %g1 448584: 9e 00 a0 01 add %g2, 1, %o7 448588: 85 28 b0 03 sllx %g2, 3, %g2 44858c: de 72 20 20 stx %o7, [ %o0 + 0x20 ] 448590: fa 70 40 02 stx %i5, [ %g1 + %g2 ] 448594: c2 5a 20 20 ldx [ %o0 + 0x20 ], %g1 448598: 80 a0 64 00 cmp %g1, 0x400 44859c: 02 60 00 13 be,pn %xcc, 4485e8 4485a0: d2 5f a7 d7 ldx [ %fp + 0x7d7 ], %o1 4485a4: b8 07 3f ff add %i4, -1, %i4 4485a8: 80 a7 3f ff cmp %i4, -1 4485ac: 02 60 00 4f be,pn %xcc, 4486e8 4485b0: ba 07 40 0b add %i5, %o3, %i5 4485b4: 90 06 80 05 add %i2, %g5, %o0 4485b8: c4 5a 20 20 ldx [ %o0 + 0x20 ], %g2 4485bc: 80 a0 a3 ff cmp %g2, 0x3ff 4485c0: 28 6f ff f1 bleu,a %xcc, 448584 4485c4: c2 5a 20 18 ldx [ %o0 + 0x18 ], %g1 4485e0: 81 cf e0 08 rett %i7 + 8 4485e4: 91 3a 20 00 sra %o0, 0, %o0 4485e8: d4 77 a7 77 stx %o2, [ %fp + 0x777 ] 4485ec: d6 77 a7 6f stx %o3, [ %fp + 0x76f ] 4485f0: 7f ff fe c4 call 448100 4485f4: da 77 a7 67 stx %o5, [ %fp + 0x767 ] 4485f8: d4 5f a7 77 ldx [ %fp + 0x777 ], %o2 4485fc: d6 5f a7 6f ldx [ %fp + 0x76f ], %o3 448600: 0e f2 3f e9 brgez,pn %o0, 4485a4 448604: da 5f a7 67 ldx [ %fp + 0x767 ], %o5 448608: b4 10 00 19 mov %i1, %i2 44860c: f2 5f a7 b7 ldx [ %fp + 0x7b7 ], %i1 448610: b8 10 00 1b mov %i3, %i4 448614: b6 10 3f ff mov -1, %i3 448618: ba 10 20 00 clr %i5 44861c: b1 2e f0 0d sllx %i3, 0xd, %i0 448620: b7 36 f0 33 srlx %i3, 0x33, %i3 448624: d4 06 60 18 ld [ %i1 + 0x18 ], %o2 448628: 80 a2 a0 00 cmp %o2, 0 44862c: 32 40 00 10 bne,a,pn %icc, 44866c 448630: d2 5e 60 10 ldx [ %i1 + 0x10 ], %o1 448634: 80 a6 40 10 cmp %i1, %l0 448638: 02 60 00 09 be,pn %xcc, 44865c 44863c: c2 5f a7 bf ldx [ %fp + 0x7bf ], %g1 448640: 90 10 00 19 mov %i1, %o0 448644: 40 09 4a bf call 69b140 448648: ba 07 60 01 inc %i5 44864c: 80 a7 40 1a cmp %i5, %i2 448650: 06 4f ff f5 bl %icc, 448624 448654: b2 10 00 08 mov %o0, %i1 448658: c2 5f a7 bf ldx [ %fp + 0x7bf ], %g1 44865c: 91 90 40 00 wrpr %g1, %pil 448660: b0 10 20 00 clr %i0 448664: 81 cf e0 08 rett %i7 + 8 448668: 91 3a 20 00 sra %o0, 0, %o0 44866c: 95 32 a0 00 srl %o2, 0, %o2 448670: 90 10 00 1c mov %i4, %o0 448674: 96 10 3f ff mov -1, %o3 448678: 82 0a 40 1b and %o1, %i3, %g1 44867c: 92 0a 40 18 and %o1, %i0, %o1 448680: 94 02 80 01 add %o2, %g1, %o2 448684: 94 02 80 1b add %o2, %i3, %o2 448688: 7f ff c5 c6 call 439da0 44868c: 95 32 b0 0d srlx %o2, 0xd, %o2 448690: 86 10 3f ff mov -1, %g3 448694: c0 26 60 18 clr [ %i1 + 0x18 ] 448698: 10 6f ff e7 b %xcc, 448634 44869c: c6 76 60 10 stx %g3, [ %i1 + 0x10 ] 4486a0: 11 00 26 b3 sethi %hi(0x9acc00), %o0 4486a4: 13 00 22 e3 sethi %hi(0x8b8c00), %o1 . -- Meelis Roos ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: 5.1-rc1: mpt init crash in scsi_map_dma, dma_4v_map_sg on sparc64
I think this might have been this commit: commit 24132a419c68f1d69eb8ecc91b3c80d730ecbb59 Author: Christoph Hellwig Date: Fri Feb 15 09:30:28 2019 +0100 sparc64/pci_sun4v: allow large DMA masks the patch below adds a few missing checks and hopefully should fix your problem. If not can you try to revert the commit to check if my theory was correct to start with? Yes, reverting this commit makes my T1000 boot. -- Meelis Roos ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: 5.1-rc1: mpt init crash in scsi_map_dma, dma_4v_map_sg on sparc64
Yes, reverting this commit makes my T1000 boot. Does the patch attached to the last mail work as well? Sorry for misreading your mail - tested now and yes, it works. -- Meelis Roos ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
new SBus related DMA warnings in 4.18+git
5 [ 33.499951] [ cut here ] [ 33.553491] WARNING: CPU: 0 PID: 513 at ./include/linux/dma-mapping.h:516 snd_dma_alloc_pages+0x180/0x1a0 [snd_pcm] [ 33.678318] Modules linked in: snd_sun_cs4231(+) qlogicpti(+) sunhme sunlance sr_mod(+) snd_pcm parport_sunbpp(+) cdrom parport sg snd_timer snd flash(+) evdev soundcore [ 33.859660] CPU: 0 PID: 513 Comm: udevd Tainted: GW 4.18.0-12789-gaa5b105 #181 [ 33.962781] Call Trace: [ 33.991950] [100830c0] snd_dma_alloc_pages+0x180/0x1a0 [snd_pcm] [ 34.073225] [10082838] snd_pcm_lib_preallocate_pages1+0x118/0x1a0 [snd_pcm] [ 34.165966] [10082918] snd_pcm_lib_preallocate_pages_for_all+0x38/0x80 [snd_pcm] [ 34.263873] [100c1e38] cs4231_probe+0x638/0x7e0 [snd_sun_cs4231] [ 34.345074] [006c0b8c] platform_drv_probe+0x2c/0xa0 [ 34.412771] [006be9dc] really_probe+0x19c/0x2e0 [ 34.476319] [006becd0] driver_probe_device+0x50/0x100 [ 34.546119] [006bee74] __driver_attach+0xf4/0x120 [ 34.611747] [006bcb24] bus_for_each_dev+0x44/0x80 [ 34.677373] [006bddf8] bus_add_driver+0x198/0x220 [ 34.743010] [006bf7f0] driver_register+0x70/0x120 [ 34.808643] [00427310] do_one_initcall+0x30/0x180 [ 34.874288] [004ab0f0] do_init_module+0x4c/0x1bc [ 34.938866] [004aa408] load_module+0x1bc8/0x2020 [ 35.003457] [004aa9d4] sys_finit_module+0x74/0xa0 [ 35.069095] [004060b4] linux_sparc_syscall32+0x34/0x60 [ 35.139904] ---[ end trace 3332d1d0348bd1b2 ]--- [ 35.286257] sr 0:0:6:0: Attached scsi CD-ROM sr0 [ 36.283976] sd 0:0:0:0: [sda] tag#4 FAILED Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK [ 36.381331] sd 0:0:0:0: [sda] tag#4 CDB: ATA command pass through(16) 85 06 20 00 05 00 fe 00 00 00 00 00 00 40 ef 00 [ 37.266190] sd 0:0:0:0: [sda] tag#2 FAILED Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK [ 37.363525] sd 0:0:0:0: [sda] tag#2 CDB: ATA command pass through(16) 85 06 20 00 05 00 fe 00 00 00 00 00 00 40 ef 00 [ 37.765963] sunlance f006707c rename2: renamed from eth0 [ 37.831623] hme f006be34 eth0: renamed from eth1 [ 38.320369] (Firmware v1.31.32) [ 38.320401] (FCode 1.21 95/05/18) [ 38.356199] qlogicpti0: [Fast Wide, using single ended interface] [ 38.486325] scsi host2: PTI Qlogic,ISP SBUS SCSI irq 15 regs at (ptrval) [ 38.736044] sd 0:0:0:0: [sda] tag#1 FAILED Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK [ 38.833349] sd 0:0:0:0: [sda] tag#1 CDB: ATA command pass through(16) 85 06 20 00 05 00 fe 00 00 00 00 00 00 40 ef 00 [ 38.994170] systemd-udevd[519]: renamed network interface eth1 to eth0 [ 39.100116] systemd-udevd[516]: renamed network interface eth0 to rename2 [ 39.266082] sd 0:0:0:0: [sda] tag#1 FAILED Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK [ 39.363408] sd 0:0:0:0: [sda] tag#1 CDB: ATA command pass through(16) 85 06 20 00 05 00 fe 00 00 00 00 00 00 40 ef 00 [ 39.605965] sd 0:0:0:0: [sda] tag#1 FAILED Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK [ 39.703275] sd 0:0:0:0: [sda] tag#1 CDB: ATA command pass through(16) 85 06 20 00 05 00 fe 00 00 00 00 00 00 40 ef 00 [ 39.916597] sunlance f006707c eth1: renamed from rename2 [ 40.119269] systemd-udevd[516]: renamed network interface eth0 to eth1 [ 41.033237] Adding 360440k swap on /dev/sda4. Priority:-2 extents:1 across:360440k [ 41.441029] EXT4-fs (sda2): re-mounted. Opts: (null) [ 42.110875] EXT4-fs (sda2): re-mounted. Opts: errors=remount-ro [ 47.809743] NET: Registered protocol family 10 [ 47.868327] Segment Routing with IPv6 [ 49.196386] EXT4-fs (sda1): mounting ext3 file system using the ext4 subsystem [ 49.298784] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) [ 54.513618] random: dd: uninitialized urandom read (512 bytes read) [ 59.720440] eth0: Link is up using [ 59.720459] internal [ 59.760188] transceiver at [ 59.787280] 100Mb/s, Full Duplex. [ 64.259942] random: crng init done -- Meelis Roos (mr...@linux.ee) ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: new SBus related DMA warnings in 4.18+git
> On Sun, Aug 26, 2018 at 10:48:44AM +0300, Meelis Roos wrote: > > Tried yesterdays git 4.18.0-12789-gaa5b105 on a Sun Ultra 1 with SBus > > and several SBus connected devicess give DMA mapping related warnings: > > This should have been around since the warning was added. > > The patch below should fix it: > > --- > >From 6294e0e330851ee06e66ab85b348f1d92d375d7a Mon Sep 17 00:00:00 2001 > From: Christoph Hellwig > Date: Mon, 27 Aug 2018 17:23:24 +0200 > Subject: driver core: initialize a default DMA mask for platform device No, it does not fix it. Dmesg from another SBus machine that conmpiled it faster (Sun Ultra 2): [0.000112] PROMLIB: Sun IEEE Boot Prom 'OBP 3.25.0 1999/12/03 11:35' [0.000131] PROMLIB: Root node compatible: [0.000250] Linux version 4.18.0-12952-g2923b27-dirty (mroos@u2) (gcc version 4.9.3 (Debian 4.9.3-2)) #239 SMP Mon Aug 27 21:42:14 EEST 2018 [0.000448] debug: ignoring loglevel setting. [0.329860] bootconsole [earlyprom0] enabled [0.380881] ARCH: SUN4U [0.410167] Ethernet address: 08:00:20:89:2a:a0 [0.464243] MM: PAGE_OFFSET is 0xf800 (max_phys_bits == 40) [0.543372] MM: VMALLOC [0x0001 --> 0x0600] [0.618366] MM: VMEMMAP [0x0600 --> 0x0c00] [0.697932] Kernel: Using 2 locked TLB entries for main kernel image. [0.774140] Remapping the kernel... [0.807146] done. [1.154827] OF stdout device is: /sbus@1f,0/zs@f,110:a [1.219566] PROM: Built device tree with 63364 bytes of memory. [1.290510] Top of RAM: 0x6ff2c000, Total RAM: 0x37f1a000 [1.354970] Memory hole size: 896MB [1.406349] Allocated 16384 bytes for kernel page tables. [1.470133] Zone ranges: [1.500269] Normal [mem 0x-0x6ff2bfff] [1.574219] Movable zone start for each node [1.625258] Early memory node ranges [1.667967] node 0: [mem 0x-0x0fff] [1.742961] node 0: [mem 0x2000-0x27ff] [1.817956] node 0: [mem 0x4000-0x4fff] [1.892948] node 0: [mem 0x6000-0x6fefdfff] [1.967942] node 0: [mem 0x6ff0-0x6ff05fff] [2.042936] node 0: [mem 0x6ff16000-0x6ff2bfff] [2.118044] Initmem setup node 0 [mem 0x-0x6ff2bfff] [2.202302] On node 0 totalpages: 114573 [2.249169] Normal zone: 896 pages used for memmap [2.308537] Normal zone: 0 pages reserved [2.358535] Normal zone: 114573 pages, LIFO batch:31 [2.495241] Booting Linux... [2.528734] CPU CAPS: [flush,stbar,swap,muldiv,v9,mul32,div32,v8plus] [2.605799] CPU CAPS: [vis] [2.668258] percpu: Embedded 10 pages/cpu @(ptrval) s44928 r8192 d28800 u2097152 [2.766410] pcpu-alloc: s44928 r8192 d28800 u2097152 alloc=1*4194304 [2.841510] pcpu-alloc: [0] 0 1 [2.885668] Built 1 zonelists, mobility grouping on. Total pages: 113677 [2.965990] Kernel command line: root=/dev/sda2 ro ignore_loglevel [3.046466] Dentry cache hash table entries: 131072 (order: 7, 1048576 bytes) [3.134227] Inode-cache hash table entries: 65536 (order: 6, 524288 bytes) [3.215649] Sorting __ex_table... [3.310465] Memory: 892040K/916584K available (4329K kernel code, 255K rwdata, 816K rodata, 232K init, 268K bss, 24544K reserved, 0K cma-reserved) [3.467295] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1 [3.545872] rcu: Hierarchical RCU implementation. [3.601352] NR_IRQS: 2048, nr_irqs: 2048, preallocated irqs: 1 [3.671504] clocksource: tick: mask: 0x max_cycles: 0x44439c2a93, max_idle_ns: 440795210626 ns [3.790815] clocksource: mult[360e5ba] shift[24] [3.846017] clockevent: mult[4bc5ed4a] shift[32] [3.901587] Console: colour dummy device 80x25 [3.954414] console [tty0] enabled [3.994980] bootconsole [earlyprom0] disabled [4.197213] Calibrating delay using timer specific routine.. 593.26 BogoMIPS (lpj=2966300) [4.197267] pid_max: default: 32768 minimum: 301 [4.197757] Mount-cache hash table entries: 2048 (order: 1, 16384 bytes) [4.197861] Mountpoint-cache hash table entries: 2048 (order: 1, 16384 bytes) [4.201878] rcu: Hierarchical SRCU implementation. [4.203657] smp: Bringing up secondary CPUs ... [4.237851] CPU 1: synchronized TICK with master CPU (last diff -17 cycles, maxerr 539 cycles) [4.238252] smp: Brought up 1 node, 2 CPUs [4.239996] devtmpfs: initialized [4.245228] random: get_random_u32 called from bucket_table_alloc.isra.18+0x7c/0x1c0 with crng_init=0 [4.245850] clocksource: jiffies: mask: 0x max_cycles: 0x, max_idle_ns: 1911260446275 ns [4.245913] futex hash table entries: 512 (order: 2, 32768 bytes) [4.247101] NET: Registered protocol family 16 [4.26105
Re: new SBus related DMA warnings in 4.18+git
> Based on the other thread here is a new attempt: CC arch/sparc/kernel/of_device_64.o arch/sparc/kernel/of_device_64.c: In function ‘scan_one_device’: arch/sparc/kernel/of_device_64.c:678:2: error: implicit declaration of function ‘DMA_BIT_MASK’ [-Werror=implicit-function-declaration] op->dev.coherent_dma_mask = DMA_BIT_MASK(32); ^ arch/sparc/kernel/of_device_64.c:679:24: error: ‘struct platform_device’ has no member named ‘dma_mask’ op->dev.dma_mask = &op->dma_mask; ^ arch/sparc/kernel/of_device_64.c:680:4: error: ‘struct platform_device’ has no member named ‘dma_mask’ op->dma_mask = DMA_BIT_MASK(32); ^ cc1: all warnings being treated as errors scripts/Makefile.build:307: recipe for target 'arch/sparc/kernel/of_device_64.o' failed -- Meelis Roos (mr...@linux.ee) ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: new SBus related DMA warnings in 4.18+git
> Updated version including that has survived contact with a sparc cross > compiler below. Note that this is on top of the previous patch adding > a dma_mask to struct platform_device, which I've included as well. Works completely fine on both Ultra 1 and Ultra 2 - nothing DMA-relaated in dmesg. -- Meelis Roos (mr...@linux.ee) ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
4.19-rc3: IOMMU PT warnings: WARNING: CPU: 0 PID: 1 at mm/page_alloc.c:4065 __alloc_pages_slowpath+0xb7b/0xcd0
In 4.19-rc1, I found that to keep Intel integrated graphics working when VT-d is on, I need to have IOMMU passthough on or GPU init would fail with DMAR error and the screen would display static gibberish. So I turned IOMMU PT on by default in kernel config. It worked, also in rc2. Now with rc3, it still works but I get some warning splats in dmesg about IOMMU passthrough: [0.00] microcode: microcode updated early to revision 0x8e, date = 2018-03-24 [0.00] Linux version 4.19.0-rc3 (mroos@ilves) (gcc version 8.2.0 (Debian 8.2.0-6)) #326 SMP Mon Sep 10 10:45:38 EEST 2018 [0.00] Command line: BOOT_IMAGE=/boot/vmlinuz-4.19.0-rc3 root=/dev/nvme0n1p1 ro [0.00] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers' [0.00] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers' [0.00] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers' [0.00] x86/fpu: Supporting XSAVE feature 0x008: 'MPX bounds registers' [0.00] x86/fpu: Supporting XSAVE feature 0x010: 'MPX CSR' [0.00] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256 [0.00] x86/fpu: xstate_offset[3]: 832, xstate_sizes[3]: 64 [0.00] x86/fpu: xstate_offset[4]: 896, xstate_sizes[4]: 64 [0.00] x86/fpu: Enabled xstate features 0x1f, context size is 960 bytes, using 'compacted' format. [0.00] BIOS-provided physical RAM map: [0.00] BIOS-e820: [mem 0x-0x0009c7ff] usable [0.00] BIOS-e820: [mem 0x0009c800-0x0009] reserved [0.00] BIOS-e820: [mem 0x000e-0x000f] reserved [0.00] BIOS-e820: [mem 0x0010-0xc4acdfff] usable [0.00] BIOS-e820: [mem 0xc4ace000-0xc4acefff] ACPI NVS [0.00] BIOS-e820: [mem 0xc4acf000-0xc4ac] reserved [0.00] BIOS-e820: [mem 0xc4ad-0xc9d6] usable [0.00] BIOS-e820: [mem 0xc9d7-0xca0a4fff] reserved [0.00] BIOS-e820: [mem 0xca0a5000-0xca21] usable [0.00] BIOS-e820: [mem 0xca22-0xca8fbfff] ACPI NVS [0.00] BIOS-e820: [mem 0xca8fc000-0xcaffdfff] reserved [0.00] BIOS-e820: [mem 0xcaffe000-0xcaffefff] usable [0.00] BIOS-e820: [mem 0xcafff000-0xcfff] reserved [0.00] BIOS-e820: [mem 0xf800-0xfbff] reserved [0.00] BIOS-e820: [mem 0xfe00-0xfe010fff] reserved [0.00] BIOS-e820: [mem 0xfec0-0xfec00fff] reserved [0.00] BIOS-e820: [mem 0xfed0-0xfed00fff] reserved [0.00] BIOS-e820: [mem 0xfee0-0xfee00fff] reserved [0.00] BIOS-e820: [mem 0xff00-0x] reserved [0.00] BIOS-e820: [mem 0x0001-0x00042dff] usable [0.00] NX (Execute Disable) protection: active [0.00] SMBIOS 3.0.0 present. [0.00] DMI: Gigabyte Technology Co., Ltd. Q270M-D3H/Q270M-D3H, BIOS F6d 03/09/2018 [0.00] tsc: Detected 3400.000 MHz processor [0.001446] tsc: Detected 3408.000 MHz TSC [0.001446] e820: update [mem 0x-0x0fff] usable ==> reserved [0.001447] e820: remove [mem 0x000a-0x000f] usable [0.001452] last_pfn = 0x42e000 max_arch_pfn = 0x4 [0.001455] MTRR default type: write-back [0.001455] MTRR fixed ranges enabled: [0.001456] 0-9 write-back [0.001456] A-B uncachable [0.001457] C-F write-protect [0.001457] MTRR variable ranges enabled: [0.001458] 0 base 00E000 mask 7FE000 uncachable [0.001459] 1 base 00D000 mask 7FF000 uncachable [0.001459] 2 base 00CC00 mask 7FFC00 uncachable [0.001459] 3 base 00CB80 mask 7FFF80 uncachable [0.001460] 4 disabled [0.001460] 5 disabled [0.001460] 6 disabled [0.001460] 7 disabled [0.001460] 8 disabled [0.001461] 9 disabled [0.002133] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT [0.002490] last_pfn = 0xcafff max_arch_pfn = 0x4 [0.007442] found SMP MP-table at [mem 0x000fccb0-0x000fccbf] mapped at [(ptrval)] [0.007451] Base memory trampoline at [(ptrval)] 96000 size 24576 [0.007454] Using GB pages for direct mapping [0.007455] BRK [0x309612000, 0x309612fff] PGTABLE [0.007456] BRK [0x309613000, 0x309613fff] PGTABLE [0.007457] BRK [0x309614000, 0x309614fff] PGTABLE [0.007469] BRK [0x309615000, 0x309615fff] PGTABLE [0.007470] BRK [0x309616000, 0x309616fff] PGTABLE [0.007519] BRK [0x309617000, 0x309617fff] PGTABLE [0.007537] BRK [0x309618000, 0x309618fff] PGTABLE [0.007595] BRK [0x309619000, 0x309619fff] PGTABLE [0.007618] BRK [0x30961a000, 0x30961afff] PGTABLE
Re: 4.19-rc3: IOMMU PT warnings: WARNING: CPU: 0 PID: 1 at mm/page_alloc.c:4065 __alloc_pages_slowpath+0xb7b/0xcd0
e 4; falling back to IOMMU_DOMAIN_DMA [0.324711] iommu: Adding device :00:1c.0 to group 10 [0.324718] pci :00:1c.2: failed to allocate default IOMMU domain of type 4; falling back to IOMMU_DOMAIN_DMA [0.324721] iommu: Adding device :00:1c.2 to group 11 [0.324728] pci :00:1c.4: failed to allocate default IOMMU domain of type 4; falling back to IOMMU_DOMAIN_DMA [0.324730] iommu: Adding device :00:1c.4 to group 12 [0.324738] pci :00:1d.0: failed to allocate default IOMMU domain of type 4; falling back to IOMMU_DOMAIN_DMA [0.324740] iommu: Adding device :00:1d.0 to group 13 [0.324754] pci :00:1f.0: failed to allocate default IOMMU domain of type 4; falling back to IOMMU_DOMAIN_DMA [0.324757] iommu: Adding device :00:1f.0 to group 14 [0.324763] pci :00:1f.2: failed to allocate default IOMMU domain of type 4; falling back to IOMMU_DOMAIN_DMA [0.324765] iommu: Adding device :00:1f.2 to group 14 [0.324771] pci :00:1f.3: failed to allocate default IOMMU domain of type 4; falling back to IOMMU_DOMAIN_DMA [0.324773] iommu: Adding device :00:1f.3 to group 14 [0.324779] pci :00:1f.4: failed to allocate default IOMMU domain of type 4; falling back to IOMMU_DOMAIN_DMA [0.324782] iommu: Adding device :00:1f.4 to group 14 [0.324788] pci :00:1f.6: failed to allocate default IOMMU domain of type 4; falling back to IOMMU_DOMAIN_DMA [0.324790] iommu: Adding device :00:1f.6 to group 15 [0.324797] pci :02:00.0: failed to allocate default IOMMU domain of type 4; falling back to IOMMU_DOMAIN_DMA [0.324800] iommu: Adding device :02:00.0 to group 16 [0.324807] pci :09:00.0: failed to allocate default IOMMU domain of type 4; falling back to IOMMU_DOMAIN_DMA [0.324810] iommu: Adding device :09:00.0 to group 17 -- Meelis Roos (mr...@linux.ee) ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
ACPI crash with big gart IOMMU area (stack overflow?)
I have a computer where I had noticed that I must not turn on IOMMU in the BIOS, or Linux would crash on boot. The computer is Sun Ultra 20 workstation with dual-core 1st gen Opteron (175) and Nvidia CK804 chipset and 4G RAM. So IOMMU never worked for me before. I investigated it more today - set higher screen resolution from grub and tried different BIOS options for GART. It appears that IOMMU GART size of 64M..256M works fine but GART size 512M causes the crash. Crash screenshots from GART 512M (two different crashes, with and without an interrupt in the backtrace): https://drive.google.com/file/d/0Bzm3pOFVnfg-em0taW5RUHRKdUk https://drive.google.com/file/d/0Bzm3pOFVnfg-UEM5dWlWUG43WkU The shorter crash message suggested that ACPI DSDT has been overwritten (because of the stack overflow?) and suggested acpi=copy_dsdt. Tried it, also crashes with stack overflow: https://drive.google.com/file/d/0Bzm3pOFVnfg-MlQ5eGszSW9WYnc Kernel config and full dmesg from working 256M GART option are included below for reference. # # Automatically generated file; DO NOT EDIT. # Linux/x86 4.1.0-rc3 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y CONFIG_PERF_EVENTS_INTEL_UNCORE=y CONFIG_OUTPUT_FORMAT="elf64-x86-64" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_MMU=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y CONFIG_GENERIC_HWEIGHT=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y CONFIG_ZONE_DMA32=y CONFIG_AUDIT_ARCH=y CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_X86_64_SMP=y CONFIG_X86_HT=y CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_PGTABLE_LEVELS=4 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y # # General setup # CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_HAVE_KERNEL_LZ4=y # CONFIG_KERNEL_GZIP is not set # CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_XZ is not set CONFIG_KERNEL_LZO=y # CONFIG_KERNEL_LZ4 is not set CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y CONFIG_POSIX_MQUEUE_SYSCTL=y # CONFIG_CROSS_MEMORY_ATTACH is not set # CONFIG_FHANDLE is not set # CONFIG_USELIB is not set # CONFIG_AUDIT is not set CONFIG_HAVE_ARCH_AUDITSYSCALL=y # # IRQ subsystem # CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_IRQ_DOMAIN=y CONFIG_GENERIC_MSI_IRQ=y # CONFIG_IRQ_DOMAIN_DEBUG is not set CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y CONFIG_GENERIC_CMOS_UPDATE=y # # Timers subsystem # CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ_COMMON=y # CONFIG_HZ_PERIODIC is not set CONFIG_NO_HZ_IDLE=y # CONFIG_NO_HZ_FULL is not set # CONFIG_NO_HZ is not set CONFIG_HIGH_RES_TIMERS=y # # CPU/Task time and stats accounting # CONFIG_VIRT_CPU_ACCOUNTING=y # CONFIG_TICK_CPU_ACCOUNTING is not set CONFIG_VIRT_CPU_ACCOUNTING_GEN=y # CONFIG_IRQ_TIME_ACCOUNTING is not set # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y # # RCU Subsystem # CONFIG_TREE_RCU=y CONFIG_SRCU=y # CONFIG_TASKS_RCU is not set CONFIG_RCU_STALL_COMMON=y CONFIG_CONTEXT_TRACKING=y CONFIG_RCU_USER_QS=y CONFIG_CONTEXT_TRACKING_FORCE=y CONFIG_RCU_FANOUT=64 CONFIG_RCU_FANOUT_LEAF=16 # CONFIG_RCU_FANOUT_EXACT is not set CONFIG_RCU_FAST_NO_HZ=y # CONFIG_TREE_RCU_TRACE is not set CONFIG_RCU_KTHREAD_PRIO=0 CONFIG_RCU_NOCB_CPU=y # CONFIG_RCU_NOCB_CPU_NONE is not set # CONFIG_RCU_NOCB_CPU_ZERO is not set CONFIG_RCU_NOCB_CPU_ALL=y # CONFIG_RCU_EXPEDITE_BOOT is not set # CONFIG_BUILD_BIN2C is not set # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=17 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12