slub: make ->cpu_partial unsigned int
authorAlexey Dobriyan <adobriyan@gmail.com>
Thu, 5 Apr 2018 23:21:10 +0000 (16:21 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Apr 2018 04:36:23 +0000 (21:36 -0700)
/*
 * cpu_partial determined the maximum number of objects
 * kept in the per cpu partial lists of a processor.
 */

Can't be negative.

Link: http://lkml.kernel.org/r/20180305200730.15812-15-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 2287b800474f5f906603892ae20ea0c96742c2b1..d2cc1391f17ad62ab563803d253ccc3bbefc3519 100644 (file)
@@ -88,7 +88,8 @@ struct kmem_cache {
        int object_size;        /* The size of an object without meta data */
        int offset;             /* Free pointer offset. */
 #ifdef CONFIG_SLUB_CPU_PARTIAL
-       int cpu_partial;        /* Number of per cpu partial objects to keep around */
+       /* Number of per cpu partial objects to keep around */
+       unsigned int cpu_partial;
 #endif
        struct kmem_cache_order_objects oo;
 
index 6d08bc66f0e7ddc4bfda3434b43af1a48a96cb8b..2e72f15a03ea582732c0b2ab6df635b468ff75ae 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1812,7 +1812,7 @@ static void *get_partial_node(struct kmem_cache *s, struct kmem_cache_node *n,
 {
        struct page *page, *page2;
        void *object = NULL;
-       int available = 0;
+       unsigned int available = 0;
        int objects;
 
        /*
@@ -4962,10 +4962,10 @@ static ssize_t cpu_partial_show(struct kmem_cache *s, char *buf)
 static ssize_t cpu_partial_store(struct kmem_cache *s, const char *buf,
                                 size_t length)
 {
-       unsigned long objects;
+       unsigned int objects;
        int err;
 
-       err = kstrtoul(buf, 10, &objects);
+       err = kstrtouint(buf, 10, &objects);
        if (err)
                return err;
        if (objects && !kmem_cache_has_cpu_partial(s))