From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755767AbbGQWiB (ORCPT ); Fri, 17 Jul 2015 18:38:01 -0400 Received: from smtprelay0225.hostedemail.com ([216.40.44.225]:36985 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752002AbbGQWh7 (ORCPT ); Fri, 17 Jul 2015 18:37:59 -0400 X-Session-Marker: 6A6F6540706572636865732E636F6D X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,joe@perches.com,:::::::::::::::::::::::::::::::::::,RULES_HIT:41:355:379:541:599:966:973:982:988:989:1260:1277:1311:1313:1314:1345:1359:1373:1437:1515:1516:1518:1534:1541:1593:1594:1711:1730:1747:1777:1792:2194:2196:2199:2200:2393:2559:2562:2741:2828:2904:2920:3138:3139:3140:3141:3142:3352:3622:3865:3866:3867:3868:3870:3871:3872:3874:4250:4321:4385:5007:6261:6742:7875:8957:10004:10400:10848:11026:11232:11473:11658:11914:12043:12438:12517:12519:12740:13069:13255:13311:13357:14036:21080,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0 X-HE-Tag: pie79_625f49a78e448 X-Filterd-Recvd-Size: 2925 Message-ID: <1437172674.2495.60.camel@perches.com> Subject: Re: [PATCH tip/core/rcu 15/16] scripts: Make checkpatch.pl warn on expedited RCU grace periods From: Joe Perches To: "Paul E. McKenney" Cc: linux-kernel@vger.kernel.org, mingo@kernel.org, laijs@cn.fujitsu.com, dipankar@in.ibm.com, akpm@linux-foundation.org, mathieu.desnoyers@efficios.com, josh@joshtriplett.org, tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com, dvhart@linux.intel.com, fweisbec@gmail.com, oleg@redhat.com, bobby.prani@gmail.com, Andy Whitcroft Date: Fri, 17 Jul 2015 15:37:54 -0700 In-Reply-To: <1437171616-13832-15-git-send-email-paulmck@linux.vnet.ibm.com> References: <20150717221949.GA12304@linux.vnet.ibm.com> <1437171616-13832-1-git-send-email-paulmck@linux.vnet.ibm.com> <1437171616-13832-15-git-send-email-paulmck@linux.vnet.ibm.com> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.12.11-0ubuntu3 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 2015-07-17 at 15:20 -0700, Paul E. McKenney wrote: > The synchronize_rcu_expedited() and synchronize_sched_expedited() > expedited-grace-period primitives induce OS jitter, which can degrade > real-time response. This commit therefore adds a checkpatch.pl warning > on any patch adding them. [] > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl [] > +# 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)\(/) { It'd be faster perl without capture groups: if ($line =~ /\b(?:synchronize_(?:rcu|sched)_expedited)\s*\(/) { > + WARN("EXPEDITED_RCU_GRACE_PERIOD", > + "expedited RCU grace periods should be avoided in cases where they can degrade real-time response\n" . $herecurr); "in cases" is rather redundant.