SLUB: cleanup - define macroses instead of hardcoded numbers
Subsystems (2)
PATCH 1/1 SLUB: cleanup - define macroses instead of hardcoded numbers
Signed-off-by Cyrill Gorcunov <[email protected]>
---
mm/slub.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-)
mm/slub.c +11 -7
@@ -153,6 +153,10 @@#define ARCH_SLAB_MINALIGN __alignof__(unsigned long long)#endif +#define OO_SHIFT 16 +#define OO_MASK ((1 << OO_SHIFT) - 1) +#define MAX_OBJS_PER_PAGE 65535/* since page.objects is u16 */ +/* Internal SLUB flags */ #define __OBJECT_POISON 0x80000000/* Poison object */ #define __SYSFS_ADD_DEFERRED 0x40000000/* Not yet visible via sysfs */
@@ -290,7 +294,7 @@ static inline struct kmem_cache_order_ob unsigned long size) {struct kmem_cache_order_objects x = { - (order <<16 ) + (PAGE_SIZE << order) / size + (order <<OO_SHIFT ) + (PAGE_SIZE << order) / size };return x;
@@ -298,12 +302,12 @@ static inline struct kmem_cache_order_obstatic inline int oo_order (struct kmem_cache_order_objects x) { -return x.x >>16 ; +return x.x >>OO_SHIFT ; }static inline int oo_objects (struct kmem_cache_order_objects x) { -return x.x & ((1 <<16 ) -1 ); +return x.x &OO_MASK ; }#ifdef CONFIG_SLUB_DEBUG
@@ -764,8 +768,8 @@ static int on_freelist(struct kmem_cache } max_objects = (PAGE_SIZE <<compound_order (page)) / s->size; -if (max_objects >65535 ) - max_objects =65535 ; +if (max_objects >MAX_OBJS_PER_PAGE ) + max_objects =MAX_OBJS_PER_PAGE ;if (page->objects != max_objects) { slab_err(s, page, "Wrong number of objects. Found %d but "
@@ -1819,8 +1823,8 @@ static inline int slab_order(int size, iint rem;int min_order = slub_min_order; -if ((PAGE_SIZE << min_order) / size >65535 ) -return get_order (size *65535 ) -1 ; +if ((PAGE_SIZE << min_order) / size >MAX_OBJS_PER_PAGE ) +return get_order (size *MAX_OBJS_PER_PAGE ) -1 ; for (order = max(min_order, fls(min_objects * size - 1) - PAGE_SHIFT);
Pekka Enberg
AppliedQuoted 2 lines · Cyrill Gorcunov
Signed-off-by Cyrill Gorcunov <[email protected]>
Applied, thanks!