Bug 1323283

Summary: realtime profile: disable timer migration
Product: Red Hat Enterprise Linux 7 Reporter: Luiz Capitulino <lcapitulino>
Component: tunedAssignee: Jaroslav Škarvada <jskarvad>
Status: CLOSED ERRATA QA Contact: Tereza Cerna <tcerna>
Severity: unspecified Docs Contact: Jiri Herrmann <jherrman>
Priority: high    
Version: 7.3CC: jeder, jherrman, jscotka, jskarvad, tcerna
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tuned-2.7.1-2.el7 Doc Type: Release Note
Doc Text:
Timer migration for realtime Tuned profile has been disabled Previously, the realtime Tuned profile that is included in the _tuned-profiles-realtime_ package set the value of the `kernel.timer_migration` variable to 1. As a consequence, realtime applications could be negatively affected. This update disables the timer migration in the realtime profile.
Story Points: ---
Clone Of:
: 1360800 (view as bug list) Environment:
Last Closed: 2016-11-04 07:27:19 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:
Bug Depends On:    
Bug Blocks: 1273048, 1360800    

Description Luiz Capitulino 2016-04-01 17:28:38 UTC
Description of problem:

It was found during code review that the kernel always try to migrate timers away from idle CPUs to busy CPUs. Real-time CPUs running dpdk polling threads for example, are busy so they are a great candidate to receive timers from idle CPUs (see get_nohz_timer_target() in the kernel sources).

It is not clear how this problem can affect real-time applications and KVM-RT. However, for real-time and high-performance the best thing is for a timer to always fire in the CPU where it was created.

Version-Release number of selected component (if applicable): tuned-profiles-realtime-2.5.1-6.el7.noarch

Comment 2 Luiz Capitulino 2016-04-04 14:45:30 UTC
Thanks a lot Jaroslav. I'll let you handle this for RHEL7.3 and later for RHEL7.2-z. But no rush, it's not an urgent issue.

Comment 9 Tereza Cerna 2016-08-22 12:43:24 UTC
==============================================
Verified in:
    tuned-2.7.1-2.el7.noarch
    tuned-profiles-realtime-2.7.1-2.el7.noarch
PASS
==============================================

# grep timer /usr/lib/tuned/realtime/tuned.conf 
kernel.timer_migration = 0
# sysctl kernel.timer_migration
kernel.timer_migration = 1
# tuned-adm profile realtime
# sysctl kernel.timer_migration
kernel.timer_migration = 0

==============================================
Reproduced in:
    tuned-2.5.1-1.el7.noarch
    tuned-profiles-realtime-2.5.1-1.el7.noarch
FAIL
==============================================

# grep timer /usr/lib/tuned/realtime/tuned.conf 
# sysctl kernel.timer_migration
kernel.timer_migration = 1
# tuned-adm profile realtime
# sysctl kernel.timer_migration
kernel.timer_migration = 1

Comment 11 errata-xmlrpc 2016-11-04 07:27:19 UTC
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://rhn.redhat.com/errata/RHBA-2016-2479.html