Subject: Re: [next] Kernel panic - not syncing: swiotlb_init_remap: nslabs = 0 too small

From: Anshuman Khandual <[email-masked]>
Date: Thu, 14 Jul 2022 13:50:02 +0530

On 7/14/22 13:17, Naresh Kamboju wrote:
> [Please ignore this email if it is already reported]
> 
> Linux next-20220713 boot failed on arm, arm64, x86_64 and i386 [1].
> 
> Reported-by: Linux Kernel Functional Testing <[email-masked]>
> Reported-by: Naresh Kamboju <[email-masked]>

There are couple of recent commits in swiotlb area, could you please check
reverting them, if that solves the problem. 

26ffb91fa5e0fb282e8 ("swiotlb: split up the global swiotlb lock")
c51ba246cb172c9e947 ("swiotlb: fail map correctly with failed io_tlb_default_mem")

> 
> metadata:
>   git_ref: master
>   git_repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next
>   git_sha: 4662b7adea50bb62e993a67f611f3be625d3df0d
>   git_describe: next-20220713
>   kernel_version: 5.19.0-rc6
>   kernel-config: https://builds.tuxbuild.com/2BtFIR2DegCrbRCCTSZF93YVeiO/config
>   build-url: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next/-/pipelines/586982028
>   artifact-location: https://builds.tuxbuild.com/2BtFIR2DegCrbRCCTSZF93YVeiO
>   vmlinux.xz: https://builds.tuxbuild.com/2BtFIR2DegCrbRCCTSZF93YVeiO/vmlinux.xz
>   System.map: https://builds.tuxbuild.com/2BtFIR2DegCrbRCCTSZF93YVeiO/System.map
>   toolchain: gcc-11
> 
> Here is the boot log output from arm64 juno-r2 device.
> 
> [    0.000000] Booting Linux on physical CPU 0x0000000100 [0x410fd033]
> [    0.000000] Linux version 5.19.0-rc6-next-20220713
> (tuxmake@tuxmake) (aarch64-linux-gnu-gcc (Debian 11.3.0-3) 11.3.0, GNU
> ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT @1657717522
> [    0.000000] Machine model: ARM Juno development board (r2)
> [    0.000000] earlycon: pl11 at MMIO 0x000000007ff80000 (options '')
> [    0.000000] printk: bootconsole [pl11] enabled
> [    0.000000] efi: UEFI not found.
> [    0.000000] NUMA: No NUMA configuration found
> [    0.000000] NUMA: Faking a node at [mem
> 0x0000000080000000-0x00000009ffffffff]
> [    0.000000] NUMA: NODE_DATA [mem 0x9fefd1b40-0x9fefd3fff]
> [    0.000000] Zone ranges:
> [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
> [    0.000000]   DMA32    empty
> [    0.000000]   Normal   [mem 0x0000000100000000-0x00000009ffffffff]
> [    0.000000] Movable zone start for each node
> [    0.000000] Early memory node ranges
> [    0.000000]   node   0: [mem 0x0000000080000000-0x00000000feffffff]
> [    0.000000]   node   0: [mem 0x0000000880000000-0x00000009ffffffff]
> [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000009ffffffff]
> [    0.000000] On node 0, zone Normal: 4096 pages in unavailable ranges
> [    0.000000] cma: Reserved 32 MiB at 0x00000000fd000000
> [    0.000000] psci: probing for conduit method from DT.
> [    0.000000] psci: PSCIv1.1 detected in firmware.
> [    0.000000] psci: Using standard PSCI v0.2 function IDs
> [    0.000000] psci: Trusted OS migration not required
> [    0.000000] psci: SMC Calling Convention v1.0
> [    0.000000] percpu: Embedded 30 pages/cpu s82856 r8192 d31832 u122880
> [    0.000000] Detected VIPT I-cache on CPU0
> [    0.000000] CPU features: detected: ARM erratum 843419
> [    0.000000] CPU features: detected: ARM erratum 845719
> [    0.000000] Fallback order for Node 0: 0
> [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 2060288
> [    0.000000] Policy zone: Normal
> [    0.000000] Kernel command line: console=ttyAMA0,115200n8
> root=/dev/nfs rw
> nfsroot=10.66.16.120:/var/lib/lava/dispatcher/tmp/5283518/extract-nfsrootfs-ulkeoqdy,tcp,hard,vers=3,wsize=65536
> earlycon=pl011,0x7ff80000 console_msg_format=syslog earlycon
> default_hugepagesz=2M hugepages=256
> sky2.mac_address=0x00,0x02,0xF7,0x00,0x68,0x51 ip=dhcp
> <6>[    0.000000] Dentry cache hash table entries: 1048576 (order: 11,
> 8388608 bytes, linear)
> <6>[    0.000000] Inode-cache hash table entries: 524288 (order: 10,
> 4194304 bytes, linear)
> <6>[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
> <0>[    0.000000] Kernel panic - not syncing: swiotlb_init_remap:
> nslabs = 0 too small
> <4>[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted
> 5.19.0-rc6-next-20220713 #1
> <4>[    0.000000] Hardware name: ARM Juno development board (r2) (DT)
> <4>[    0.000000] Call trace:
> <4>[    0.000000]  dump_backtrace+0xe8/0x130
> <4>[    0.000000]  show_stack+0x24/0x60
> <4>[    0.000000]  dump_stack_lvl+0x8c/0xb8
> <4>[    0.000000]  dump_stack+0x18/0x34
> <4>[    0.000000]  panic+0x188/0x38c
> <4>[    0.000000]  swiotlb_init_remap+0x50/0x54
> <4>[    0.000000]  swiotlb_init+0x20/0x2c
> <4>[    0.000000]  mem_init+0x38/0x48
> <4>[    0.000000]  start_kernel+0x448/0x738
> <4>[    0.000000]  __primary_switched+0xb8/0xc0
> <0>[    0.000000] ---[ end Kernel panic - not syncing:
> swiotlb_init_remap: nslabs = 0 too small ]---
> 
> Full test log link,
> [1] https://lkft.validation.linaro.org/scheduler/job/5283518#L582
> 
> Best regards
> Naresh Kamboju
> 
> 
> --
> Linaro LKFT
> https://lkft.linaro.org