Bug 1554851
Summary: | realtime-virtual-host: vCPU being interrupted by I/O thread | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Luiz Capitulino <lcapitulino> | |
Component: | tuned | Assignee: | Jaroslav Škarvada <jskarvad> | |
Status: | CLOSED ERRATA | QA Contact: | Robin Hack <rhack> | |
Severity: | high | Docs Contact: | ||
Priority: | urgent | |||
Version: | 7.5 | CC: | fkrska, jeder, jraju, jskarvad, lcapitulino, mtosatti, olysonek, pezhang, psklenar, rhack, snagar, thozza | |
Target Milestone: | rc | Keywords: | Patch, Upstream, ZStream | |
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | tuned-2.11.0-0.1.rc1.el7 | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1728699 (view as bug list) | Environment: | ||
Last Closed: | 2019-08-06 13:04:43 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: | 1240765, 1672377, 1728699 |
Description
Luiz Capitulino
2018-03-13 13:10:45 UTC
I don't know what's the best way to fix this. As a workaround, I wrote a python script that gets the vCPU thread id from QEMU via QMP and move it to another isolated core. But this seems overly complex, and QEMU has to be started with a QMP socket in paused mode (so that it doesn't start the measurement before the vCPU thread is moved). Another two other ideas that may be much simpler: 1. Check if it's possible to tell if a qemu thread is a vCPU thread from /proc. This removes the need of having the Python script, but qemu still has to be started with -S 2. Carry a simple xml definition in the realtime-virtual-host profile and define the guest in libvirt on the spot, as libvirt supports everything we need (In reply to Luiz Capitulino from comment #2) > I don't know what's the best way to fix this. As a workaround, I wrote a > python script that gets the vCPU thread id from QEMU via QMP and move it to > another isolated core. But this seems overly complex, and QEMU has to be > started with a QMP socket in paused mode (so that it doesn't start the > measurement before the vCPU thread is moved). > > Another two other ideas that may be much simpler: > > 1. Check if it's possible to tell if a qemu thread is a vCPU thread from > /proc. This removes the need of having the Python script, but qemu still has > to be started with -S Better use the official interface (QMP). > 2. Carry a simple xml definition in the realtime-virtual-host profile and > define the guest in libvirt on the spot, as libvirt supports everything we > need Thats much more complex. To me, your workaround is the proper fix (i would fix it the same way). OK, I'll polish my script, integrate it in the profile and post it. I'll do this soon (ie. not right now). Patch posted upstream, reassigning to Jaroslav for the RHEL tuned integration. Upstream commit: https://github.com/redhat-performance/tuned/commit/4790e570ce0e41bde4e1866ed6e3cba723b5f4d8 *** Bug 1679007 has been marked as a duplicate of this bug. *** *** Bug 1670275 has been marked as a duplicate of this bug. *** We need this fix for 7.6.z. In latest 7.6.z testing, below command can not return successfully, it's hang there. After applying patch of this bug, tuned can work well. # tuned-adm profile realtime-virtual-host Versions: 3.10.0-957.29.1.rt56.941.el7.x86_64 tuned-2.10.0-6.el7_6.3.noarch As Luiz suggested, I add "7.6.z ?" flag here. Best regards, Pei Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2019:2201 |