|
@@ -3838,6 +3838,26 @@ static ssize_t order_show(struct kmem_cache *s, char *buf)
|
|
|
}
|
|
|
SLAB_ATTR(order);
|
|
|
|
|
|
+static ssize_t min_partial_show(struct kmem_cache *s, char *buf)
|
|
|
+{
|
|
|
+ return sprintf(buf, "%lu\n", s->min_partial);
|
|
|
+}
|
|
|
+
|
|
|
+static ssize_t min_partial_store(struct kmem_cache *s, const char *buf,
|
|
|
+ size_t length)
|
|
|
+{
|
|
|
+ unsigned long min;
|
|
|
+ int err;
|
|
|
+
|
|
|
+ err = strict_strtoul(buf, 10, &min);
|
|
|
+ if (err)
|
|
|
+ return err;
|
|
|
+
|
|
|
+ calculate_min_partial(s, min);
|
|
|
+ return length;
|
|
|
+}
|
|
|
+SLAB_ATTR(min_partial);
|
|
|
+
|
|
|
static ssize_t ctor_show(struct kmem_cache *s, char *buf)
|
|
|
{
|
|
|
if (s->ctor) {
|
|
@@ -4153,6 +4173,7 @@ static struct attribute *slab_attrs[] = {
|
|
|
&object_size_attr.attr,
|
|
|
&objs_per_slab_attr.attr,
|
|
|
&order_attr.attr,
|
|
|
+ &min_partial_attr.attr,
|
|
|
&objects_attr.attr,
|
|
|
&objects_partial_attr.attr,
|
|
|
&total_objects_attr.attr,
|