| From: "T.J. Alumbaugh" <talumbau@google.com> |
| Subject: mm: multi-gen LRU: clean up sysfs code |
| Date: Tue, 14 Feb 2023 03:54:44 +0000 |
| |
| This patch cleans up the sysfs code. Specifically, |
| 1. use sysfs_emit(), |
| 2. use __ATTR_RW(), and |
| 3. constify multi-gen LRU struct attribute_group. |
| |
| Link: https://lkml.kernel.org/r/20230214035445.1250139-1-talumbau@google.com |
| Signed-off-by: T.J. Alumbaugh <talumbau@google.com> |
| Cc: Yu Zhao <yuzhao@google.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| include/linux/mmzone.h | 2 +- |
| mm/vmscan.c | 22 +++++++++------------- |
| 2 files changed, 10 insertions(+), 14 deletions(-) |
| |
| --- a/include/linux/mmzone.h~mm-multi-gen-lru-clean-up-sysfs-code |
| +++ a/include/linux/mmzone.h |
| @@ -1369,7 +1369,7 @@ typedef struct pglist_data { |
| |
| #ifdef CONFIG_LRU_GEN |
| /* kswap mm walk data */ |
| - struct lru_gen_mm_walk mm_walk; |
| + struct lru_gen_mm_walk mm_walk; |
| /* lru_gen_folio list */ |
| struct lru_gen_memcg memcg_lru; |
| #endif |
| --- a/mm/vmscan.c~mm-multi-gen-lru-clean-up-sysfs-code |
| +++ a/mm/vmscan.c |
| @@ -5663,14 +5663,14 @@ unlock: |
| * sysfs interface |
| ******************************************************************************/ |
| |
| -static ssize_t show_min_ttl(struct kobject *kobj, struct kobj_attribute *attr, char *buf) |
| +static ssize_t min_ttl_ms_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf) |
| { |
| - return sprintf(buf, "%u\n", jiffies_to_msecs(READ_ONCE(lru_gen_min_ttl))); |
| + return sysfs_emit(buf, "%u\n", jiffies_to_msecs(READ_ONCE(lru_gen_min_ttl))); |
| } |
| |
| /* see Documentation/admin-guide/mm/multigen_lru.rst for details */ |
| -static ssize_t store_min_ttl(struct kobject *kobj, struct kobj_attribute *attr, |
| - const char *buf, size_t len) |
| +static ssize_t min_ttl_ms_store(struct kobject *kobj, struct kobj_attribute *attr, |
| + const char *buf, size_t len) |
| { |
| unsigned int msecs; |
| |
| @@ -5682,11 +5682,9 @@ static ssize_t store_min_ttl(struct kobj |
| return len; |
| } |
| |
| -static struct kobj_attribute lru_gen_min_ttl_attr = __ATTR( |
| - min_ttl_ms, 0644, show_min_ttl, store_min_ttl |
| -); |
| +static struct kobj_attribute lru_gen_min_ttl_attr = __ATTR_RW(min_ttl_ms); |
| |
| -static ssize_t show_enabled(struct kobject *kobj, struct kobj_attribute *attr, char *buf) |
| +static ssize_t enabled_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf) |
| { |
| unsigned int caps = 0; |
| |
| @@ -5703,7 +5701,7 @@ static ssize_t show_enabled(struct kobje |
| } |
| |
| /* see Documentation/admin-guide/mm/multigen_lru.rst for details */ |
| -static ssize_t store_enabled(struct kobject *kobj, struct kobj_attribute *attr, |
| +static ssize_t enabled_store(struct kobject *kobj, struct kobj_attribute *attr, |
| const char *buf, size_t len) |
| { |
| int i; |
| @@ -5730,9 +5728,7 @@ static ssize_t store_enabled(struct kobj |
| return len; |
| } |
| |
| -static struct kobj_attribute lru_gen_enabled_attr = __ATTR( |
| - enabled, 0644, show_enabled, store_enabled |
| -); |
| +static struct kobj_attribute lru_gen_enabled_attr = __ATTR_RW(enabled); |
| |
| static struct attribute *lru_gen_attrs[] = { |
| &lru_gen_min_ttl_attr.attr, |
| @@ -5740,7 +5736,7 @@ static struct attribute *lru_gen_attrs[] |
| NULL |
| }; |
| |
| -static struct attribute_group lru_gen_attr_group = { |
| +static const struct attribute_group lru_gen_attr_group = { |
| .name = "lru_gen", |
| .attrs = lru_gen_attrs, |
| }; |
| _ |