Skip to content

Enable taskstats in Linux Kernel #22134

@ancoron

Description

@ancoron

What Happened?

I tried to run coroot on minikube but its node agent always failed with messages I wasn't able to make much sense of:

$ kubectl -n coroot logs pods/coroot-node-agent-lzjhz 
...
I1211 22:50:46.844020    5849 gpu.go:97] libnvidia-ml.so.1 not found in known paths
I1211 22:50:46.844122    5849 profiling.go:57] profiles endpoint: http://coroot-coroot.coroot:8080/v1/profiles
F1211 22:50:46.915905    5849 main.go:165] netlink receive: no such file or directory
F1211 22:50:46.915905    5849 main.go:165] netlink receive: no such file or directory
F1211 22:50:46.915905    5849 main.go:165] netlink receive: no such file or directory
F1211 22:50:46.915905    5849 main.go:165] netlink receive: no such file or directory
F1211 22:50:46.915905    5849 main.go:165] netlink receive: no such file or directory

Since eBPF should be fine after #21800 , I dug a little deeper and found that it makes use of this library:

...which requires certain kernel configs to be enabled, and reading on Linux taskstats now clicked why we're seeing the errors related to "netlink".

So after enabling the following everything now is running smoothly:

--- a/deploy/iso/minikube-iso/board/minikube/x86_64/linux_x86_64_defconfig
+++ b/deploy/iso/minikube-iso/board/minikube/x86_64/linux_x86_64_defconfig
@@ -516,3 +516,6 @@ CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
 CONFIG_EARLY_PRINTK_DBGP=y
 CONFIG_DEBUG_BOOT_PARAMS=y
 CONFIG_FUNCTION_ERROR_INJECTION=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y

Can those be enabled in the standard ISO builds?

This would then also solve a long-standing issue over at coroot: coroot/coroot#10

Attach the log file

Does not apply

Operating System

Other

Driver

KVM2

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