Reviewed-by: Wei Xu <weixugc@xxxxxxxxxx> On Mon, Feb 13, 2023 at 7:54 PM T.J. Alumbaugh <talumbau@xxxxxxxxxx> wrote: > > This patch cleans up the sysfs code. Specifically, Nit: Remove "This patch" per the "submitting patches" guide. > 1. use sysfs_emit(), > 2. use __ATTR_RW(), and > 3. constify multi-gen LRU struct attribute_group. > > Signed-off-by: T.J. Alumbaugh <talumbau@xxxxxxxxxx> > --- > include/linux/mmzone.h | 2 +- > mm/vmscan.c | 22 +++++++++------------- > 2 files changed, 10 insertions(+), 14 deletions(-) > > diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h > index 9fb1b03b83b2..bf8786d45b31 100644 > --- a/include/linux/mmzone.h > +++ b/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 > diff --git a/mm/vmscan.c b/mm/vmscan.c > index d4b9fd1ae0ed..09c064accdb1 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -5658,14 +5658,14 @@ static void lru_gen_change_state(bool enabled) > * 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; > > @@ -5677,11 +5677,9 @@ static ssize_t store_min_ttl(struct kobject *kobj, struct kobj_attribute *attr, > 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; > > @@ -5698,7 +5696,7 @@ static ssize_t show_enabled(struct kobject *kobj, struct kobj_attribute *attr, c > } > > /* 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; > @@ -5725,9 +5723,7 @@ static ssize_t store_enabled(struct kobject *kobj, struct kobj_attribute *attr, > 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, > @@ -5735,7 +5731,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, > }; > -- > 2.39.1.581.gbfd45094c4-goog > >