-
Notifications
You must be signed in to change notification settings - Fork 76
Making Caladan work with disabled Hyper-Threading #22
Description
Hi !
While trying to run the synthetic app, I encounter an issue which seems constrained to servers where Hyper-Threading is explicitly disabled in the BIOS. I get the following error while running the iokernel and the client :
Ubuntu 22.04/Kernel 5.15/CX5 NIC
The error :
EAL: Probe PCI driver: mlx5_pci (15b3:a2dc) device: 0000:51:00.0 (socket 0)
[ 0.372778] CPU 01| <6> init -> rx
[ 0.449482] CPU 01| <6> init -> tx
[ 0.452856] CPU 01| <6> init -> dp_clients
[ 0.452894] CPU 01| <6> init -> dpdk_late
[ 0.650827] CPU 01| <5> dpdk: driver: mlx5_pci port 0 MAC: 58 a2 e1 85 7a fa
[ 0.700955] CPU 01| <6> init -> directpath
[ 0.700966] CPU 01| <6> init -> hw_timestamp
[ 0.716591] CPU 01| <5> mlx5: device cycles / us: 1000.0000
[ 0.716609] CPU 01| <5> UINTR: disabled
[ 0.716614] CPU 01| <5> main: core 1 running dataplane. [Ctrl+C to quit]
[ 4.785119] CPU 01| <0> FATAL: ./inc/base/list.h:289 ASSERTION 'i != &h->n' FAILED IN 'list_del_from'
sudo ./iokerneld simple noht nicpci 0000:51:00.0
sudo ./apps/synthetic/target/release/synthetic 10.200.0.2:5000 --config client.config --mode runtime-client
host_addr 10.200.0.2 host_netmask 255.255.255.0 host_gateway 10.200.0.2 runtime_kthreads 2 runtime_spinning_kthreads 2 runtime_guaranteed_kthreads 2 runtime_priority lc
The error is located in the "sched_enable_kthread" function. For machines where Hyper-Threading is enabled, the same commands works without any issue. Am I missing something in the configuration ?
Best regards,
Nikita