Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu
Pull RCU changes from Paul E. McKenney: - The combination of tree geometry-initialization simplifications and OS-jitter-reduction changes to expedited grace periods. These two are stacked due to the large number of conflicts that would otherwise result. [ With one addition, a temporary commit to silence a lockdep false positive. Additional changes to the expedited grace-period primitives (queued for 4.4) remove the cause of this false positive, and therefore include a revert of this temporary commit. ] - Documentation updates. - Torture-test updates. - Miscellaneous fixes. Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
@@ -5011,6 +5011,7 @@ sub process {
|
||||
"memory barrier without comment\n" . $herecurr);
|
||||
}
|
||||
}
|
||||
|
||||
# check for waitqueue_active without a comment.
|
||||
if ($line =~ /\bwaitqueue_active\s*\(/) {
|
||||
if (!ctx_has_comment($first_line, $linenr)) {
|
||||
@@ -5018,6 +5019,24 @@ sub process {
|
||||
"waitqueue_active without comment\n" . $herecurr);
|
||||
}
|
||||
}
|
||||
|
||||
# Check for expedited grace periods that interrupt non-idle non-nohz
|
||||
# online CPUs. These expedited can therefore degrade real-time response
|
||||
# if used carelessly, and should be avoided where not absolutely
|
||||
# needed. It is always OK to use synchronize_rcu_expedited() and
|
||||
# synchronize_sched_expedited() at boot time (before real-time applications
|
||||
# start) and in error situations where real-time response is compromised in
|
||||
# any case. Note that synchronize_srcu_expedited() does -not- interrupt
|
||||
# other CPUs, so don't warn on uses of synchronize_srcu_expedited().
|
||||
# Of course, nothing comes for free, and srcu_read_lock() and
|
||||
# srcu_read_unlock() do contain full memory barriers in payment for
|
||||
# synchronize_srcu_expedited() non-interruption properties.
|
||||
if ($line =~ /\b(synchronize_rcu_expedited|synchronize_sched_expedited)\(/) {
|
||||
WARN("EXPEDITED_RCU_GRACE_PERIOD",
|
||||
"expedited RCU grace periods should be avoided where they can degrade real-time response\n" . $herecurr);
|
||||
|
||||
}
|
||||
|
||||
# check of hardware specific defines
|
||||
if ($line =~ m@^.\s*\#\s*if.*\b(__i386__|__powerpc64__|__sun__|__s390x__)\b@ && $realfile !~ m@include/asm-@) {
|
||||
CHK("ARCH_DEFINES",
|
||||
|
Reference in New Issue
Block a user