emulation simulation platforms - animeshtrivedi/notes GitHub Wiki
- notes on Userspace block driver(ublk) ublk
- notes on Null block device driver (nullblk) nullblk
Summary: There are two cases when it creates a kernel panic
- When there are multiple NVMe devices already present like 1x NVMe and 1x ZNS
- When kernel module is not loaded with the isolated CPU list param properly (no setting it up)
When the VM is booted with both nvme and zns devices, the nvmecirt core freezes and crashes, following dump (to be debugged later), dumpid 202407191341
[ 69.608084] [ T1224] nvmev: loading out-of-tree module taints kernel.
[ 69.608090] [ T1224] nvmev: module verification failed: signature and/or required key missing - tainting kernel
[ 69.608700] [ T1224] NVMeVirt: Version 1.10 for >> Samsung 970 Pro SSD <<
[ 69.608703] [ T1224] NVMeVirt: Storage: 0x100100000-0x200000000 (4095 MiB)
[ 69.610765] [ T1224] NVMeVirt: Total Capacity(GiB,MiB)=1,1024 chs=2 luns=4 lines=8192 blk-size(MiB,KiB)=0,32 line-size(MiB,KiB)=0,128
[ 69.613992] [ T1224] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 69.617280] [ T1224] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 69.617294] [ T1224] NVMeVirt: [chmodel_init] bandwidth 3360 max_credits 110 tx_time 36
[ 69.617832] [ T1224] NVMeVirt: pqueue: Copyright (c) 2014, Volkan Yaz\xffffffc4\xffffffb1c\xffffffc4\xffffffb1 <[email protected]>. All rights reserved.
[ 69.617864] [ T1224] NVMeVirt: Init FTL instance with 2 channels (262144 pages)
[ 69.621149] [ T1224] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 69.624473] [ T1224] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 69.624486] [ T1224] NVMeVirt: [chmodel_init] bandwidth 3360 max_credits 110 tx_time 36
[ 69.624989] [ T1224] NVMeVirt: Init FTL instance with 2 channels (262144 pages)
[ 69.627958] [ T1224] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 69.630882] [ T1224] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 69.630894] [ T1224] NVMeVirt: [chmodel_init] bandwidth 3360 max_credits 110 tx_time 36
[ 69.631597] [ T1224] NVMeVirt: Init FTL instance with 2 channels (262144 pages)
[ 69.634561] [ T1224] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 69.637623] [ T1224] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 69.637635] [ T1224] NVMeVirt: [chmodel_init] bandwidth 3360 max_credits 110 tx_time 36
[ 69.638157] [ T1224] NVMeVirt: Init FTL instance with 2 channels (262144 pages)
[ 69.638161] [ T1224] NVMeVirt: FTL physical space: 4293918720, logical space: 4013008149 (physical/logical * 100 = 107)
[ 69.638162] [ T1224] NVMeVirt: ns 0/1: size 3827 MiB
[ 69.638195] [ T1224] PCI host bridge to bus 0001:10
[ 69.638197] [ T1224] pci_bus 0001:10: root bus resource [io 0x0000-0xffff]
[ 69.638199] [ T1224] pci_bus 0001:10: root bus resource [mem 0x00000000-0x7fffffffff]
[ 69.638200] [ T1224] pci_bus 0001:10: root bus resource [bus 00-ff]
[ 69.638205] [ T1224] pci 0001:10:00.0: [0c51:0110] type 00 class 0x010802 PCIe Endpoint
[ 69.638208] [ T1224] pci 0001:10:00.0: BAR 0 [mem 0x100000000-0x100003fff 64bit]
[ 69.638210] [ T1224] pci 0001:10:00.0: enabling Extended Tags
[ 69.638284] [ T1224] NVMeVirt: Virtual PCI bus created (node -98693133)
[ 69.638578] [ T1225] NVMeVirt: nvmev_io_worker_0 started on cpu 0 (node 0)
[ 69.638595] [ T1226] NVMeVirt: nvmev_dispatcher started on cpu 6 (node -98693133)
[ 69.638622] [ T1224] ------------[ cut here ]------------
[ 69.638623] [ T1224] UBSAN: array-index-out-of-bounds in mm/slub.c:438:16
[ 69.638638] [ T1224] index -98693133 is out of range for type 'kmem_cache_node *[1024]'
[ 69.638649] [ T1224] CPU: 1 PID: 1224 Comm: insmod Kdump: loaded Tainted: G OE 6.9.0-atr-2024-07-05 #13
[ 69.638651] [ T1224] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014
[ 69.638652] [ T1224] Call Trace:
[ 69.638653] [ T1224] <TASK>
[ 69.638656] [ T1224] dump_stack_lvl+0x5d/0x80
[ 69.638661] [ T1224] ubsan_epilogue+0x5/0x30
[ 69.638665] [ T1224] __ubsan_handle_out_of_bounds.cold+0x46/0x4b
[ 69.638667] [ T1224] ___slab_alloc+0xc4b/0xc50
[ 69.638670] [ T1224] ? pinctrl_bind_pins+0x35/0x270
[ 69.638674] [ T1224] ? kernfs_xattr_get+0x37/0x70
[ 69.638677] [ T1224] ? rwsem_down_write_slowpath+0x32d/0x610
[ 69.638679] [ T1224] __kmalloc_node_track_caller+0x186/0x4b0
[ 69.638682] [ T1224] ? pinctrl_bind_pins+0x35/0x270
[ 69.638684] [ T1224] ? devm_kmalloc+0x50/0x120
[ 69.638686] [ T1224] devm_kmalloc+0x50/0x120
[ 69.638688] [ T1224] ? __pfx___device_attach_driver+0x10/0x10
[ 69.638690] [ T1224] pinctrl_bind_pins+0x35/0x270
[ 69.638692] [ T1224] really_probe+0x5d/0x340
[ 69.638694] [ T1224] ? pm_runtime_barrier+0x54/0x90
[ 69.638696] [ T1224] __driver_probe_device+0x78/0x110
[ 69.638698] [ T1224] driver_probe_device+0x1f/0xa0
[ 69.638700] [ T1224] __device_attach_driver+0x89/0x110
[ 69.638701] [ T1224] bus_for_each_drv+0x95/0xf0
[ 69.638703] [ T1224] __device_attach+0xb0/0x1b0
[ 69.638704] [ T1224] pci_bus_add_device+0x58/0x80
[ 69.638707] [ T1224] pci_bus_add_devices+0x30/0x70
[ 69.638710] [ T1224] NVMeV_init+0x525/0x547 [nvmev]
[ 69.638716] [ T1224] ? __pfx_NVMeV_init+0x10/0x10 [nvmev]
[ 69.638720] [ T1224] do_one_initcall+0x58/0x310
[ 69.638722] [ T1224] do_init_module+0x90/0x250
[ 69.638724] [ T1224] init_module_from_file+0x86/0xc0
[ 69.638726] [ T1224] idempotent_init_module+0x121/0x2b0
[ 69.638727] [ T1224] __x64_sys_finit_module+0x5e/0xb0
[ 69.638729] [ T1224] do_syscall_64+0x82/0x160
[ 69.638729] [ T1224] ? __do_sys_newfstatat+0x4b/0x80
[ 69.638732] [ T1224] ? syscall_exit_to_user_mode+0x75/0x230
[ 69.638733] [ T1224] ? do_syscall_64+0x8e/0x160
[ 69.638734] [ T1224] ? do_user_addr_fault+0x34e/0x620
[ 69.638735] [ T1224] ? clear_bhb_loop+0x45/0xa0
[ 69.638737] [ T1224] ? clear_bhb_loop+0x45/0xa0
[ 69.638738] [ T1224] ? clear_bhb_loop+0x45/0xa0
[ 69.638739] [ T1224] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[ 69.638740] [ T1224] RIP: 0033:0x7f9ce952725d
[ 69.638746] [ T1224] Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 8b bb 0d 00 f7 d8 64 89 01 48
[ 69.638747] [ T1224] RSP: 002b:00007ffdbfafcd18 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
[ 69.638749] [ T1224] RAX: ffffffffffffffda RBX: 000055cdf6851760 RCX: 00007f9ce952725d
[ 69.638750] [ T1224] RDX: 0000000000000000 RSI: 000055cdf68512a0 RDI: 0000000000000003
[ 69.638751] [ T1224] RBP: 00007ffdbfafcdd0 R08: 0000000000000040 R09: 0000000000000000
[ 69.638751] [ T1224] R10: 00007f9ce9603b20 R11: 0000000000000246 R12: 000055cdf68512a0
[ 69.638752] [ T1224] R13: 0000000000000000 R14: 000055cdf6851730 R15: 000055cdf68512a0
[ 69.638753] [ T1224] </TASK>
[ 69.638754] [ T1224] ---[ end trace ]---
[ 69.638757] [ T1224] BUG: unable to handle page fault for address: ffff92eb51f4c070
[ 69.638763] [ T1224] #PF: supervisor read access in kernel mode
[ 69.638768] [ T1224] #PF: error_code(0x0000) - not-present page
[ 69.638773] [ T1224] PGD 38801067 P4D 38801067 PUD 0
[ 69.638779] [ T1224] Oops: 0000 [#1] PREEMPT SMP NOPTI
[ 69.638783] [ T1224] CPU: 1 PID: 1224 Comm: insmod Kdump: loaded Tainted: G OE 6.9.0-atr-2024-07-05 #13
[ 69.638791] [ T1224] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014
[ 69.638799] [ T1224] RIP: 0010:___slab_alloc+0x516/0xc50
[ 69.638804] [ T1224] Code: 2c 89 44 24 50 8b 44 24 28 89 44 24 54 8b 44 24 40 83 f8 ff 0f 84 72 02 00 00 4c 63 e0 49 81 fc 00 04 00 00 0f 83 26 07 00 00 <4b> 8b b4 e7 d8 00 00 00 48 85 f6 74 20 48 83 7e 08 00 74 19 48 8d
[ 69.638817] [ T1224] RSP: 0018:ffffb44ec224b8d0 EFLAGS: 00010286
[ 69.638822] [ T1224] RAX: 0000000000000001 RBX: ffff92ec3fcbb400 RCX: 00000000ffffffff
[ 69.638828] [ T1224] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffffffffb0affe11
[ 69.638833] [ T1224] RBP: ffffb44ec224b9b0 R08: 0000000000000000 R09: ffffb44ec224b828
[ 69.638839] [ T1224] R10: ffffffffb0affe10 R11: 0000000000000000 R12: fffffffffa1e0ff3
[ 69.638844] [ T1224] R13: 00000000fa1e0ff3 R14: ffff92eb81044000 R15: ffff92eb81044000
[ 69.638850] [ T1224] FS: 00007f9ce9eef080(0000) GS:ffff92ec3fc80000(0000) knlGS:0000000000000000
[ 69.638857] [ T1224] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 69.638862] [ T1224] CR2: ffff92eb51f4c070 CR3: 000000000efbe002 CR4: 0000000000770ef0
[ 69.638871] [ T1224] PKRU: 55555554
[ 69.638875] [ T1224] Call Trace:
[ 69.638878] [ T1224] <TASK>
[ 69.638881] [ T1224] ? __die_body.cold+0x19/0x27
[ 69.638887] [ T1224] ? page_fault_oops+0x15a/0x2c0
[ 69.638892] [ T1224] ? search_module_extables+0x19/0x60
[ 69.638897] [ T1224] ? search_bpf_extables+0x5f/0x80
[ 69.638903] [ T1224] ? exc_page_fault+0x170/0x180
[ 69.638908] [ T1224] ? asm_exc_page_fault+0x26/0x30
[ 69.638913] [ T1224] ? ___slab_alloc+0x516/0xc50
[ 69.638918] [ T1224] ? pinctrl_bind_pins+0x35/0x270
[ 69.638924] [ T1224] ? kernfs_xattr_get+0x37/0x70
[ 69.638929] [ T1224] ? rwsem_down_write_slowpath+0x32d/0x610
[ 69.638936] [ T1224] __kmalloc_node_track_caller+0x186/0x4b0
[ 69.638941] [ T1224] ? pinctrl_bind_pins+0x35/0x270
[ 69.638947] [ T1224] ? devm_kmalloc+0x50/0x120
[ 69.638952] [ T1224] devm_kmalloc+0x50/0x120
[ 69.638958] [ T1224] ? __pfx___device_attach_driver+0x10/0x10
[ 69.638964] [ T1224] pinctrl_bind_pins+0x35/0x270
[ 69.638969] [ T1224] really_probe+0x5d/0x340
[ 69.638974] [ T1224] ? pm_runtime_barrier+0x54/0x90
[ 69.638980] [ T1224] __driver_probe_device+0x78/0x110
[ 69.638986] [ T1224] driver_probe_device+0x1f/0xa0
[ 69.638991] [ T1224] __device_attach_driver+0x89/0x110
[ 69.638997] [ T1224] bus_for_each_drv+0x95/0xf0
[ 69.639002] [ T1224] __device_attach+0xb0/0x1b0
[ 69.639154] [ T1224] pci_bus_add_device+0x58/0x80
[ 69.639365] [ T1224] pci_bus_add_devices+0x30/0x70
[ 69.639583] [ T1224] NVMeV_init+0x525/0x547 [nvmev]
[ 69.639754] [ T1224] ? __pfx_NVMeV_init+0x10/0x10 [nvmev]
[ 69.639954] [ T1224] do_one_initcall+0x58/0x310
[ 69.640195] [ T1224] do_init_module+0x90/0x250
[ 69.640463] [ T1224] init_module_from_file+0x86/0xc0
[ 69.640721] [ T1224] idempotent_init_module+0x121/0x2b0
[ 69.640941] [ T1224] __x64_sys_finit_module+0x5e/0xb0
[ 69.641093] [ T1224] do_syscall_64+0x82/0x160
[ 69.641246] [ T1224] ? __do_sys_newfstatat+0x4b/0x80
[ 69.641404] [ T1224] ? syscall_exit_to_user_mode+0x75/0x230
[ 69.641570] [ T1224] ? do_syscall_64+0x8e/0x160
[ 69.641720] [ T1224] ? do_user_addr_fault+0x34e/0x620
[ 69.641852] [ T1224] ? clear_bhb_loop+0x45/0xa0
[ 69.641981] [ T1224] ? clear_bhb_loop+0x45/0xa0
[ 69.642121] [ T1224] ? clear_bhb_loop+0x45/0xa0
[ 69.642260] [ T1224] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[ 69.642388] [ T1224] RIP: 0033:0x7f9ce952725d
[ 69.642514] [ T1224] Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 8b bb 0d 00 f7 d8 64 89 01 48
[ 69.642781] [ T1224] RSP: 002b:00007ffdbfafcd18 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
[ 69.642912] [ T1224] RAX: ffffffffffffffda RBX: 000055cdf6851760 RCX: 00007f9ce952725d
[ 69.643042] [ T1224] RDX: 0000000000000000 RSI: 000055cdf68512a0 RDI: 0000000000000003
[ 69.643171] [ T1224] RBP: 00007ffdbfafcdd0 R08: 0000000000000040 R09: 0000000000000000
[ 69.643316] [ T1224] R10: 00007f9ce9603b20 R11: 0000000000000246 R12: 000055cdf68512a0
[ 69.643449] [ T1224] R13: 0000000000000000 R14: 000055cdf6851730 R15: 000055cdf68512a0
[ 69.643584] [ T1224] </TASK>
[ 69.643716] [ T1224] Modules linked in: nvmev(OE+) squashfs qrtr intel_rapl_msr intel_rapl_common cfg80211 intel_uncore_frequency_common intel_pmc_core intel_vsec pmt_telemetry rfkill pmt_class kvm_intel binfmt_misc ppdev kvm rapl parport_pc parport i2c_piix4 joydev serio_raw dm_multipath fuse nvme_fabrics loop nfnetlink bpf_preload qemu_fw_cfg ip_tables raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx raid1 raid0 crct10dif_pclmul crc32_pclmul crc32c_intel polyval_clmulni polyval_generic ghash_clmulni_intel sha512_ssse3 sha256_ssse3 nvme bochs drm_vram_helper drm_ttm_helper sha1_ssse3 ttm nvme_core e1000 nvme_auth ata_generic floppy pata_acpi
[ 69.644550] [ T1224] CR2: ffff92eb51f4c070
A successful effort looks like this :
[ 28.776068] nvmev: loading out-of-tree module taints kernel.
[ 28.776078] nvmev: module verification failed: signature and/or required key missing - tainting kernel
[ 28.777639] NVMeVirt: Version 1.10 for >> Samsung 970 Pro SSD <<
[ 28.777644] NVMeVirt: Storage: 0x100100000-0x200000000 (4095 MiB)
[ 28.780246] NVMeVirt: Total Capacity(GiB,MiB)=1,1024 chs=2 luns=4 lines=8192 blk-size(MiB,KiB)=0,32 line-size(MiB,KiB)=0,128
[ 28.783536] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 28.786760] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 28.786772] NVMeVirt: [chmodel_init] bandwidth 3360 max_credits 110 tx_time 36
[ 28.787234] NVMeVirt: pqueue: Copyright (c) 2014, Volkan Yazıcı <[email protected]>. All rights reserved.
[ 28.787265] NVMeVirt: Init FTL instance with 2 channels (262144 pages)
[ 28.790257] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 28.793636] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 28.793657] NVMeVirt: [chmodel_init] bandwidth 3360 max_credits 110 tx_time 36
[ 28.794146] NVMeVirt: Init FTL instance with 2 channels (262144 pages)
[ 28.797063] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 28.799994] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 28.800004] NVMeVirt: [chmodel_init] bandwidth 3360 max_credits 110 tx_time 36
[ 28.800511] NVMeVirt: Init FTL instance with 2 channels (262144 pages)
[ 28.803819] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 28.806848] NVMeVirt: [chmodel_init] bandwidth 800 max_credits 26 tx_time 152
[ 28.806859] NVMeVirt: [chmodel_init] bandwidth 3360 max_credits 110 tx_time 36
[ 28.807345] NVMeVirt: Init FTL instance with 2 channels (262144 pages)
[ 28.807349] NVMeVirt: FTL physical space: 4293918720, logical space: 4013008149 (physical/logical * 100 = 107)
[ 28.807350] NVMeVirt: ns 0/1: size 3827 MiB
[ 28.807382] PCI host bridge to bus 0001:10
[ 28.807384] pci_bus 0001:10: root bus resource [io 0x0000-0xffff]
[ 28.807386] pci_bus 0001:10: root bus resource [mem 0x00000000-0x7fffffffff]
[ 28.807387] pci_bus 0001:10: root bus resource [bus 00-ff]
[ 28.807392] pci 0001:10:00.0: [0c51:0110] type 00 class 0x010802 PCIe Endpoint
[ 28.807394] pci 0001:10:00.0: BAR 0 [mem 0x100000000-0x100003fff 64bit]
[ 28.807396] pci 0001:10:00.0: enabling Extended Tags
[ 28.807666] NVMeVirt: Virtual PCI bus created (node 0)
[ 28.807970] NVMeVirt: nvmev_io_worker_0 started on cpu 7 (node 0)
[ 28.808016] NVMeVirt: nvmev_dispatcher started on cpu 6 (node 0)
[ 28.808113] nvme nvme1: pci function 0001:10:00.0
[ 28.811903] nvme nvme1: 8/0/0 default/read/poll queues
[ 28.814648] NVMeVirt: Virtual NVMe device created
atr@u24clean:~$
Specifically (success):
[ 28.807970] NVMeVirt: nvmev_io_worker_0 started on cpu 7 (node 0)
[ 28.808016] NVMeVirt: nvmev_dispatcher started on cpu 6 (node 0)
vs (fail)
[ 69.638578] [ T1225] NVMeVirt: nvmev_io_worker_0 started on cpu 0 (node 0)
[ 69.638595] [ T1226] NVMeVirt: nvmev_dispatcher started on cpu 6 (node -98693133)
Compiles, but needs gcc/g++-14, see here otherwise you will get
gcc: error: unrecognized command-line option ‘-fmin-function-alignment=16’; did you mean ‘-flimit-function-alignment’?
https://github.com/animeshtrivedi/nvmevirt
atr@u24clean:~/src/nvmevirt$ make -C /lib/modules/`uname -r`/build M=`pwd` modules
make: Entering directory '/usr/src/linux-headers-6.9.0-atr-2024-07-05'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: gcc (GCC) 14.1.1 20240701 (Red Hat 14.1.1-7)
You are using: gcc (Ubuntu 14-20240412-0ubuntu1) 14.0.1 20240412 (experimental) [master r14-9935-g67e1433a94f]
CC [M] /home/atr/src/nvmevirt/main.o
CC [M] /home/atr/src/nvmevirt/pci.o
CC [M] /home/atr/src/nvmevirt/admin.o
CC [M] /home/atr/src/nvmevirt/io.o
CC [M] /home/atr/src/nvmevirt/dma.o
CC [M] /home/atr/src/nvmevirt/ssd.o
CC [M] /home/atr/src/nvmevirt/conv_ftl.o
CC [M] /home/atr/src/nvmevirt/pqueue/pqueue.o
CC [M] /home/atr/src/nvmevirt/channel_model.o
LD [M] /home/atr/src/nvmevirt/nvmev.o
MODPOST /home/atr/src/nvmevirt/Module.symvers
CC [M] /home/atr/src/nvmevirt/nvmev.mod.o
LD [M] /home/atr/src/nvmevirt/nvmev.ko
BTF [M] /home/atr/src/nvmevirt/nvmev.ko
Skipping BTF generation for /home/atr/src/nvmevirt/nvmev.ko due to unavailability of vmlinux
make: Leaving directory '/usr/src/linux-headers-6.9.0-atr-2024-07-05'
atr@u24clean:~/src/nvmevirt$ modinfo ./nvmev.ko
filename: /home/atr/src/nvmevirt/./nvmev.ko
license: GPL v2
depends:
retpoline: Y
name: nvmev
vermagic: 6.9.0-atr-2024-07-05 SMP preempt mod_unload
parm: memmap_start:Reserved memory address
parm: memmap_size:Reserved memory size
parm: read_time:Read time in nanoseconds (uint)
parm: read_delay:Read delay in nanoseconds (uint)
parm: read_trailing:Read trailing in nanoseconds (uint)
parm: write_time:Write time in nanoseconds (uint)
parm: write_delay:Write delay in nanoseconds (uint)
parm: write_trailing:Write trailing in nanoseconds (uint)
parm: nr_io_units:Number of I/O units that operate in parallel (uint)
parm: io_unit_shift:Size of each I/O unit (2^) (uint)
parm: cpus:CPU list for process, completion(int.) threads, Seperated by Comma(,) (charp)
parm: debug:uint
So there is some issue with not using the reserved CPU (iso list) then the systems crashes. CPU isolation
isolcpus= [KNL,SMP,ISOL] Isolate a given set of CPUs from disturbance.
[Deprecated - use cpusets instead]
Format: [flag-list,]<cpu-list>