The slab.c code has a size check macro that checks the size of the following structs: struct arraycache_init struct kmem_list3 The index_of() function that takes the sizeof() of the above two structs and does an unnecessary __builtin_constant_p() on that. As sizeof() will always end up being a constant making this always be true. The code is not incorrect, but it just adds added complexity, and confuses users and wastes the time of reviewers of the code, who spends time trying to figure out why the builtin_constant_p() was used. This patch is just a clean up that makes the index_of() code a little bit less complex. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> diff --git a/mm/slab.c b/mm/slab.c index 856e4a1..6047900 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -325,9 +325,7 @@ static void cache_reap(struct work_struct *unused); static __always_inline int index_of(const size_t size) { extern void __bad_size(void); - - if (__builtin_constant_p(size)) { - int i = 0; + int i = 0; #define CACHE(x) \ if (size <=x) \ @@ -336,9 +334,7 @@ static __always_inline int index_of(const size_t size) i++; #include <linux/kmalloc_sizes.h> #undef CACHE - __bad_size(); - } else - __bad_size(); + __bad_size(); return 0; } -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>