Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932280AbbHCTEH (ORCPT ); Mon, 3 Aug 2015 15:04:07 -0400 Received: from smtprelay0115.hostedemail.com ([216.40.44.115]:37504 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932085AbbHCTEF (ORCPT ); Mon, 3 Aug 2015 15:04:05 -0400 X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,rostedt@goodmis.org,:::::::::::::::::::::::::::::::::,RULES_HIT:41:355:379:541:599:800:960:973:988:989:1260:1277:1311:1313:1314:1345:1359:1437:1515:1516:1518:1534:1541:1593:1594:1711:1730:1747:1777:1792:2198:2199:2393:2553:2559:2562:2689:2692:2693:3138:3139:3140:3141:3142:3352:3622:3865:3866:3867:3868:3872:3873:3874:4250:4321:5007:6119:6261:6742:7875:7903:10004:10400:10450:10455:10848:10967:11026:11232:11473:11658:11914:12043:12438:12517:12519:12740:13069:13311:13357:14096:14097:19904:19999: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: bread62_5d48695f71a1a X-Filterd-Recvd-Size: 2347 Date: Mon, 3 Aug 2015 15:03:59 -0400 From: Steven Rostedt To: Peter Zijlstra Cc: Vlastimil Babka , linux-kernel@vger.kernel.org, mingo@kernel.org, jasonbaron0@gmail.com, bp@alien8.de, luto@amacapital.net, tglx@linutronix.de, will.deacon@arm.com, liuj97@gmail.com, rabin@rab.in, ralf@linux-mips.org, ddaney@caviumnetworks.com, benh@kernel.crashing.org, michael@ellerman.id.au, heiko.carstens@de.ibm.com, davem@davemloft.net Subject: Re: [PATCH -v2 6/8] jump_label: Add a new static_key interface Message-ID: <20150803150359.0e76b576@gandalf.local.home> In-Reply-To: <20150729084906.GH19282@twins.programming.kicks-ass.net> References: <20150728132055.203176565@infradead.org> <20150728132313.164884020@infradead.org> <55B87E7A.2070509@suse.cz> <20150729084906.GH19282@twins.programming.kicks-ass.net> X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.28; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1286 Lines: 42 On Wed, 29 Jul 2015 10:49:06 +0200 Peter Zijlstra wrote: > On Wed, Jul 29, 2015 at 09:19:22AM +0200, Vlastimil Babka wrote: > > > How would one define a static key that's e.g. expected to be mostly false, but > > with initial value of true, e.g. during boot? > > DEFINE_STATIC_KEY_TRUE(blah); > > will get you the true at boot time. > > You'll then want to use: > > if (static_branch_unlikely(&blah)) { > /* code that mostly doesn't happen */ > } > > To indicate you expect it to be false most of the time. And you'll flip > it to false at runtime using: > > static_branch_disable(&blah); I wonder if static_branch_set_false(&blah) would be a better name to understand. What does "disable" / "enable" mean? If we declare it "TRUE" when defining it, it only makes sense to change it to "false" later on. -- Steve > > If GCC co-operates, the body of the branch will be placed out-of-line, > we'll emit a jump to it by default, but once you disable it, we'll nop > the jump and fall straight through. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/