Skip to content

Making Caladan work with disabled Hyper-Threading  #22

@ntyunyayev

Description

@ntyunyayev

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions