From: Andrew Morton Cc: Eric Dumazet Cc: Christoph Lameter Cc: David Miller Signed-off-by: Andrew Morton --- include/linux/reciprocal_div.h | 2 ++ lib/reciprocal_div.c | 1 - mm/slab.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff -puN include/linux/reciprocal_div.h~slab-use-a-multiply-instead-of-a-divide-in-obj_to_index-tweaks include/linux/reciprocal_div.h --- a/include/linux/reciprocal_div.h~slab-use-a-multiply-instead-of-a-divide-in-obj_to_index-tweaks +++ a/include/linux/reciprocal_div.h @@ -1,6 +1,8 @@ #ifndef _LINUX_RECIPROCAL_DIV_H #define _LINUX_RECIPROCAL_DIV_H +#include + /* * This file describes reciprocical division. * diff -puN lib/reciprocal_div.c~slab-use-a-multiply-instead-of-a-divide-in-obj_to_index-tweaks lib/reciprocal_div.c --- a/lib/reciprocal_div.c~slab-use-a-multiply-instead-of-a-divide-in-obj_to_index-tweaks +++ a/lib/reciprocal_div.c @@ -1,4 +1,3 @@ -#include #include #include diff -puN mm/slab.c~slab-use-a-multiply-instead-of-a-divide-in-obj_to_index-tweaks mm/slab.c --- a/mm/slab.c~slab-use-a-multiply-instead-of-a-divide-in-obj_to_index-tweaks +++ a/mm/slab.c @@ -638,7 +638,7 @@ static inline void *index_to_obj(struct static inline unsigned int obj_to_index(const struct kmem_cache *cache, const struct slab *slab, void *obj) { - unsigned int offset = (obj - slab->s_mem); + u32 offset = (obj - slab->s_mem); return reciprocal_divide(offset, cache->reciprocal_buffer_size); } _