Red Hat Bugzilla – Bug 1247184
scheduler plugin causes nohz_full to be de-activated
Last modified: 2015-11-19 07:21:59 EST
Description of problem:
During KVM-RT testing, we've found that tuned's scheduler plugin causes nohz_full to be de-activated. This happens because the scheduler plugin sets up perf event watching on all cores during startup and nohz_full is currently incompatible with perf event watching (see reproducer below).
Version-Release number of selected component (if applicable): tuned-2.4.1-1.20150705git1da9f3cc.el7.noarch
Steps to Reproduce:
1. Set up nohz_full on a core. Eg., use the following options to the kernel command-line:
2. Install tuned and activate a profile that uses the scheduler plugin. I'm using the realtime-virtual-host profile
3. Run the following script, where Y is the CPU mask corresponding to the nohz_full core and "stress" is any application capable of taking 100% of the CPU
echo Y > tracing_cpumask
echo tick_stop > set_event
echo nop > current_tracer
echo > set_ftrace_filter
echo > /tracing/trace
echo 1 > /tracing/tracing_on
chrt -f 1 taskset -c 15 ./stress --cpu 1 &
grep tick_stop /tracing/trace
pkill -9 stress
tick_stop: success=no msg=perf events running
Only one of the following:
stress-3236  d...1.. 292.142704: tick_stop: success=yes msg=
I forgot to mention that it's possible to disable the scheduler plugin runtime feature as a workaround for this issue. Simply edit the tuned.conf file for the profile and add runtime=0 to the scheduler section, like:
Upstream commit fixing this problem:
tuned-2.5.1-2.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report.
tuned-2.5.1-2.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.
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.