Open elburb opened 1 year ago
Reproduced this behavior here. So far I've confirmed that it doesn't appear to be caused by any one specific process in the container and it's not caused by incusd itself either.
I suspect it may be some issue with liblxc and io_uring, I'm doing a build of the incus daily package without io_uring now to test that.
Confirmed that it was the issue, I've disabled io_uring in liblxc for now in our builds and I'll re-assign this bug to LXC.
@brauner @mihalicyn
I can confirm that I no longer see the issue with the latest daily build (0.2-202311050411).
Thanks for all the hard work on incus, it's very much appreciated. For info, I currently have a two node test cluster with incus running on physical servers with bookworm and zfs. The cluster host a bunch of normal and nested containers, VMs and a mix of different mounts and networking. Other than this little wrinkle everything has so far worked fine and it's been a really smooth experience.
I guess that Stéphane has tested this with the recent kernel so, it should not be any well-known io_uring bug which was fixed.
I'll take a look on that. @stgraber, please assign this to me ;-)
@sesa-me thanks a lot for so well-detailed report!
Required information
Issue description
Starting a container using incus 0.2 via the zabbly stable .deb packages creates high cpu wait for each container started. Unfortunately I was unable to track down exactly which process was causing the high wait.
I'm able to reproduce this in VM and bare metal environments, with both ubuntu jammy and debian bookworm host OS, and arbitrary guests. The high cpu wait does not occur when launching a VM.
Steps to reproduce
Create a fresh VM for testing and install curl dependency:
Install incus via zabbly packages
Without any containers running cpu wait is 0.0
Start a new container
cpu wait is now 50% (= 1 core)
Start another container, cpu wait goes to 100%
Stopping the containers returns wait to 0
Information to attach
dmesg
)inc info NAME --show-log
)inc config show NAME --expanded
)inc monitor
while reproducing the issue)