slub: make ->inuse unsigned int
authorAlexey Dobriyan <adobriyan@gmail.com>
Thu, 5 Apr 2018 23:21:06 +0000 (16:21 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Apr 2018 04:36:23 +0000 (21:36 -0700)
->inuse is "the number of bytes in actual use by the object",
can't be negative.

Link: http://lkml.kernel.org/r/20180305200730.15812-14-adobriyan@gmail.com
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/slub_def.h
mm/slub.c

index 2a0eabeff78f082b39e0e18fdae2348c768777e2..2287b800474f5f906603892ae20ea0c96742c2b1 100644 (file)
@@ -98,7 +98,7 @@ struct kmem_cache {
        gfp_t allocflags;       /* gfp flags to use on each alloc */
        int refcount;           /* Refcount for slab cache destroy */
        void (*ctor)(void *);
-       int inuse;              /* Offset to metadata */
+       unsigned int inuse;             /* Offset to metadata */
        unsigned int align;             /* Alignment */
        unsigned int reserved;          /* Reserved bytes at the end of slabs */
        unsigned int red_left_pad;      /* Left redzone padding size */
index 7b081b4d2760e48a2f9a44f7af5b5919cdad8d0f..6d08bc66f0e7ddc4bfda3434b43af1a48a96cb8b 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -4256,12 +4256,11 @@ __kmem_cache_alias(const char *name, unsigned int size, unsigned int align,
                 * the complete object on kzalloc.
                 */
                s->object_size = max(s->object_size, (int)size);
-               s->inuse = max_t(int, s->inuse, ALIGN(size, sizeof(void *)));
+               s->inuse = max(s->inuse, ALIGN(size, sizeof(void *)));
 
                for_each_memcg_cache(c, s) {
                        c->object_size = s->object_size;
-                       c->inuse = max_t(int, c->inuse,
-                                        ALIGN(size, sizeof(void *)));
+                       c->inuse = max(c->inuse, ALIGN(size, sizeof(void *)));
                }
 
                if (sysfs_slab_alias(s, name)) {