]> git.baikalelectronics.ru Git - kernel.git/commit
locking/refcount: Move saturation warnings out of line
authorWill Deacon <will@kernel.org>
Thu, 21 Nov 2019 11:58:58 +0000 (11:58 +0000)
committerIngo Molnar <mingo@kernel.org>
Mon, 25 Nov 2019 08:15:21 +0000 (09:15 +0100)
commit3441c3718276a1d291e18f1bc41add0a77d457da
tree33510b14c7d093cbedf09d156e8dc6899004846d
parentf0565ab1912636cc2013b3ee07f744caaae745af
locking/refcount: Move saturation warnings out of line

Having the refcount saturation and warnings inline bloats the text,
despite the fact that these paths should never be executed in normal
operation.

Move the refcount saturation and warnings out of line to reduce the
image size when refcount_t checking is enabled. Relative to an x86_64
defconfig, the sizes reported by bloat-o-meter are:

 # defconfig+REFCOUNT_FULL, inline saturation (i.e. before this patch)
 Total: Before=14762076, After=14915442, chg +1.04%

 # defconfig+REFCOUNT_FULL, out-of-line saturation (i.e. after this patch)
 Total: Before=14762076, After=14835497, chg +0.50%

A side-effect of this change is that we now only get one warning per
refcount saturation type, rather than one per problematic call-site.

Signed-off-by: Will Deacon <will@kernel.org>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Tested-by: Hanjun Guo <guohanjun@huawei.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Elena Reshetova <elena.reshetova@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20191121115902.2551-7-will@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
include/linux/refcount.h
lib/refcount.c