Bug 1346430
Summary: | Domain using vcpusched element fails to start on non-RT kernel | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Luiz Capitulino <lcapitulino> |
Component: | libvirt | Assignee: | Libvirt Maintainers <libvirt-maint> |
Status: | CLOSED DUPLICATE | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 7.3 | CC: | atheurer, krister, mkletzan, rbalakri |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2016-06-15 19:45:14 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1175463 |
Description
Luiz Capitulino
2016-06-14 19:31:23 UTC
Karl Rister debugged this issue some time ago and found the following: """ I believe I have traced it back to a cgroup partitioning issue. Libvirt is placing the guest process in a specific partition which does not have any RT runtime allocated to it, by doing so and then propagating the values through the cgroup hierarchy I am finally able to manually chrt the vcpu pids: root@host ~ $ virsh qemu-monitor-command master --hmp info cpus * CPU #0: pc=0xffffffff8115ac90 thread_id=3784 CPU #1: pc=0xffffffff8104a086 (halted) thread_id=3785 CPU #2: pc=0xffffffff8104a086 (halted) thread_id=3786 root@host ~ $ chrt -f -p 1 3785 chrt: failed to set pid 3785's policy: Operation not permitted root@host ~ $ chrt -f -p 1 3786 chrt: failed to set pid 3786's policy: Operation not permitted root@host ~ $ cat /sys/fs/cgroup/cpu,cpuacct/cpu.rt_runtime_us 950000 root@host ~ $ cat /sys/fs/cgroup/cpu,cpuacct/machine.slice/cpu.rt_runtime_us 0 root@host ~ $ echo 950000 > /sys/fs/cgroup/cpu,cpuacct/machine.slice/cpu.rt_runtime_us root@host ~ $ cat /sys/fs/cgroup/cpu\,cpuacct/machine.slice/machine-qemu\\x2dmaster.scope/cpu.rt_runtime_us 0 root@host ~ $ echo 950000 > /sys/fs/cgroup/cpu\,cpuacct/machine.slice/machine-qemu\\x2dmaster.scope/cpu.rt_runtime_us root@host ~ $ cat /sys/fs/cgroup/cpu\,cpuacct/machine.slice/machine-qemu\\x2dmaster.scope/vcpu1/cpu.rt_runtime_us 0 root@host ~ $ echo 950000 > /sys/fs/cgroup/cpu\,cpuacct/machine.slice/machine-qemu\\x2dmaster.scope/vcpu1/cpu.rt_runtime_us root@host ~ $ chrt -f -p 1 3785 root@host ~ $ cat /sys/fs/cgroup/cpu\,cpuacct/machine.slice/machine-qemu\\x2dmaster.scope/vcpu2/cpu.rt_runtime_us 0 root@host ~ $ echo 950000 > /sys/fs/cgroup/cpu\,cpuacct/machine.slice/machine-qemu\\x2dmaster.scope/vcpu2/cpu.rt_runtime_us bash: echo: write error: Invalid argument I have to split the available runtime... """ This makes sense because it seems that the RT kernel has less cgroups options enabled, so maybe it's missing a kernel config option that enforces this behavior which makes the guest work on the RT kernel. Harald Jensås also got this issue when debugged it down to a tuned profile setting. Closing as a dupe. *** This bug has been marked as a duplicate of bug 1346715 *** |