slub: make ->inuse unsigned int
->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>
This commit is contained in:
parent
3a3791ec2e
commit
52ee6d74aa
@ -98,7 +98,7 @@ struct kmem_cache {
|
|||||||
gfp_t allocflags; /* gfp flags to use on each alloc */
|
gfp_t allocflags; /* gfp flags to use on each alloc */
|
||||||
int refcount; /* Refcount for slab cache destroy */
|
int refcount; /* Refcount for slab cache destroy */
|
||||||
void (*ctor)(void *);
|
void (*ctor)(void *);
|
||||||
int inuse; /* Offset to metadata */
|
unsigned int inuse; /* Offset to metadata */
|
||||||
unsigned int align; /* Alignment */
|
unsigned int align; /* Alignment */
|
||||||
unsigned int reserved; /* Reserved bytes at the end of slabs */
|
unsigned int reserved; /* Reserved bytes at the end of slabs */
|
||||||
unsigned int red_left_pad; /* Left redzone padding size */
|
unsigned int red_left_pad; /* Left redzone padding size */
|
||||||
|
@ -4256,12 +4256,11 @@ __kmem_cache_alias(const char *name, unsigned int size, unsigned int align,
|
|||||||
* the complete object on kzalloc.
|
* the complete object on kzalloc.
|
||||||
*/
|
*/
|
||||||
s->object_size = max(s->object_size, (int)size);
|
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) {
|
for_each_memcg_cache(c, s) {
|
||||||
c->object_size = s->object_size;
|
c->object_size = s->object_size;
|
||||||
c->inuse = max_t(int, c->inuse,
|
c->inuse = max(c->inuse, ALIGN(size, sizeof(void *)));
|
||||||
ALIGN(size, sizeof(void *)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sysfs_slab_alias(s, name)) {
|
if (sysfs_slab_alias(s, name)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user