diff options
author | Rasmus Villemoes <[email protected]> | 2019-05-14 15:42:43 -0700 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2019-05-14 19:52:49 -0700 |
commit | cdc90a1871d6e64080f4506e900c6ef88e6fb39f (patch) | |
tree | f37b1888fd3fd310225101cc4d148d23e2191d0c | |
parent | 5f239f655a7e67a972ee1fa17045a08e640d28da (diff) |
lib/bitmap.c: guard exotic bitmap functions by CONFIG_NUMA
The bitmap_remap, _bitremap, _onto and _fold functions are only used,
via their node_ wrappers, in mm/mempolicy.c, which is only built for
CONFIG_NUMA. The helper bitmap_ord_to_pos used by these functions is
global, but its only external caller is node_random() in lib/nodemask.c,
which is also guarded by CONFIG_NUMA.
For !CONFIG_NUMA:
add/remove: 0/6 grow/shrink: 0/0 up/down: 0/-621 (-621)
Function old new delta
bitmap_pos_to_ord 20 - -20
bitmap_ord_to_pos 70 - -70
bitmap_bitremap 81 - -81
bitmap_fold 113 - -113
bitmap_onto 123 - -123
bitmap_remap 214 - -214
Total: Before=4776, After=4155, chg -13.00%
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Rasmus Villemoes <[email protected]>
Cc: Andy Shevchenko <[email protected]>
Cc: Yury Norov <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
-rw-r--r-- | lib/bitmap.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/bitmap.c b/lib/bitmap.c index 66421f304f7d..3f3b8051f342 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -649,6 +649,7 @@ int bitmap_parselist_user(const char __user *ubuf, EXPORT_SYMBOL(bitmap_parselist_user); +#ifdef CONFIG_NUMA /** * bitmap_pos_to_ord - find ordinal of set bit at given position in bitmap * @buf: pointer to a bitmap @@ -952,6 +953,7 @@ void bitmap_fold(unsigned long *dst, const unsigned long *orig, for_each_set_bit(oldbit, orig, nbits) set_bit(oldbit % sz, dst); } +#endif /* CONFIG_NUMA */ /* * Common code for bitmap_*_region() routines. |