diff options
Diffstat (limited to 'include/linux/slub_def.h')
| -rw-r--r-- | include/linux/slub_def.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h index d82abd40a3c0..33885118523c 100644 --- a/include/linux/slub_def.h +++ b/include/linux/slub_def.h | |||
| @@ -85,7 +85,7 @@ struct kmem_cache { | |||
| 85 | struct kobject kobj; /* For sysfs */ | 85 | struct kobject kobj; /* For sysfs */ |
| 86 | #endif | 86 | #endif |
| 87 | #ifdef CONFIG_MEMCG_KMEM | 87 | #ifdef CONFIG_MEMCG_KMEM |
| 88 | struct memcg_cache_params *memcg_params; | 88 | struct memcg_cache_params memcg_params; |
| 89 | int max_attr_size; /* for propagation, maximum size of a stored attr */ | 89 | int max_attr_size; /* for propagation, maximum size of a stored attr */ |
| 90 | #ifdef CONFIG_SYSFS | 90 | #ifdef CONFIG_SYSFS |
| 91 | struct kset *memcg_kset; | 91 | struct kset *memcg_kset; |
| @@ -110,4 +110,23 @@ static inline void sysfs_slab_remove(struct kmem_cache *s) | |||
| 110 | } | 110 | } |
| 111 | #endif | 111 | #endif |
| 112 | 112 | ||
| 113 | |||
| 114 | /** | ||
| 115 | * virt_to_obj - returns address of the beginning of object. | ||
| 116 | * @s: object's kmem_cache | ||
| 117 | * @slab_page: address of slab page | ||
| 118 | * @x: address within object memory range | ||
| 119 | * | ||
| 120 | * Returns address of the beginning of object | ||
| 121 | */ | ||
| 122 | static inline void *virt_to_obj(struct kmem_cache *s, | ||
| 123 | const void *slab_page, | ||
| 124 | const void *x) | ||
| 125 | { | ||
| 126 | return (void *)x - ((x - slab_page) % s->size); | ||
| 127 | } | ||
| 128 | |||
| 129 | void object_err(struct kmem_cache *s, struct page *page, | ||
| 130 | u8 *object, char *reason); | ||
| 131 | |||
| 113 | #endif /* _LINUX_SLUB_DEF_H */ | 132 | #endif /* _LINUX_SLUB_DEF_H */ |
