slubでstruct kmem_cacheの各変数の値を見るのに/sys/kernel/slab/
見るだけなら 変数名 + _show
という形で関数を作って、SLAB_ATTR_ROマクロに見たい変数名を渡す。それとslab_attrsに 変数名 + _attr.attr という形で値をセット。
diff --git a/mm/slub.c b/mm/slub.c index 70567bf..ea5c550 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -4338,6 +4338,12 @@ static ssize_t objs_per_slab_show(struct kmem_cache *s, char *buf) } SLAB_ATTR_RO(objs_per_slab); +static ssize_t offset_show(struct kmem_cache *s, char *buf) +{ + return sprintf(buf, "%d\n", s->offset); +} +SLAB_ATTR_RO(offset); + static ssize_t order_store(struct kmem_cache *s, const char *buf, size_t length) { @@ -4881,7 +4887,7 @@ static struct attribute *slab_attrs[] = { #ifdef CONFIG_FAILSLAB &failslab_attr.attr, #endif - + &offset_attr.attr, NULL };
書き込みもしたい場合はshowの他にstoreの関数も追加。offset_storeみたいに。