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); 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/