From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C9098C433EF for ; Wed, 15 Jun 2022 21:29:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6488F6B0072; Wed, 15 Jun 2022 17:29:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5D0B46B0074; Wed, 15 Jun 2022 17:29:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 44AB06B0075; Wed, 15 Jun 2022 17:29:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 2E4366B0072 for ; Wed, 15 Jun 2022 17:29:00 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id F362334686 for ; Wed, 15 Jun 2022 21:28:59 +0000 (UTC) X-FDA: 79581760398.21.07CDF37 Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) by imf06.hostedemail.com (Postfix) with ESMTP id 927B318008F for ; Wed, 15 Jun 2022 21:28:59 +0000 (UTC) Received: by mail-pg1-f175.google.com with SMTP id z14so8386474pgh.0 for ; Wed, 15 Jun 2022 14:28:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=E6uvhMM2/svDEJEOuEple2fSlFRO2Ne9NBTatMU0CMw=; b=KLWfkbuTWupigOp7cJSukY+RwiP/N2atK1KZGvPU6jSkKujdEaiA8appxopU7wYdjH KMljlAktEMCx6XjKPU9sjVvg73VhyKkTpcGFnaFMuU0Rr97VCfrP9gpt8cXHHP/Hzl2N ZiiT6hOb3VG3cOJ9CkxKRnHJ/wMxjbD4dyMu3S3O6mY0RHmHNJOxXJQFHUMmR60Kq/B4 lWrmJRIQgc38GVpCDQT2VcBr3jvOpovQnl2FhUOyRaruTqRbrVvnWwVD4E587ZG8QoqP uX4cnPw1AMKw82Hnmn31tGm5Oq+k0c87lBUsqP9TtzLQBBcrwb0zQCsSvWXEmng7CkZ2 agIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=E6uvhMM2/svDEJEOuEple2fSlFRO2Ne9NBTatMU0CMw=; b=fPKPn2jhYGzflUhGDzl54xa1uqdmNsGV512ajH8acNT1Hmt44yeF5Ryew17R3AoCNb BSiv49Z2HJfyecu/sR8a/jC/wvn6urd+fh9B5ZzqIixyktkwZXh1FsKCrXvzo0wV05xT YZkgp3AwpK1sD3CCBIgUm1CCKu8ki9CrHoTn275zjnCN0uj+dmfjd8f8YIvi5HZgHVLw 4JkKzmQqhoZcuUqeOvdx7W5S25t/RRTPTebI0frv5XCOX0HsYSNMLCQ8lnAPma0Yee4C UTv9zJzp4OhtRHjO36qIUEPhnoRw8LxL/84INUs3L5Ag4tQQXcObeZq7jA1L23zrMRk+ DiEA== X-Gm-Message-State: AJIora9g8t6P7MaWw/YIDnCpU75o4+MM07YIdhIsZLArO0GbbNxiKl6g sn3JMWdcYlG8UmTsdgh1tc/ybkdfp3bzFq+IkOI= X-Google-Smtp-Source: AGRyM1txoy0fUwJdaPAaRSfvdgLAtJXs6wo8KOYeiXrj7lPTXQlK6mvrA30wb7LJ2SB8dxKB1kZtz0lsRsVSUZF0FyQ= X-Received: by 2002:a63:3183:0:b0:3fd:6797:70a8 with SMTP id x125-20020a633183000000b003fd679770a8mr1557693pgx.206.1655328538407; Wed, 15 Jun 2022 14:28:58 -0700 (PDT) MIME-Version: 1.0 References: <20220611084731.55155-1-linmiaohe@huawei.com> <20220611084731.55155-6-linmiaohe@huawei.com> In-Reply-To: <20220611084731.55155-6-linmiaohe@huawei.com> From: Yang Shi Date: Wed, 15 Jun 2022 14:28:46 -0700 Message-ID: Subject: Re: [PATCH 5/7] mm/khugepaged: use helper macro __ATTR_RW To: Miaohe Lin Cc: Andrew Morton , Andrea Arcangeli , Matthew Wilcox , Vlastimil Babka , David Howells , NeilBrown , Alistair Popple , David Hildenbrand , Suren Baghdasaryan , Peter Xu , Linux MM , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1655328539; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=E6uvhMM2/svDEJEOuEple2fSlFRO2Ne9NBTatMU0CMw=; b=pxwCNJB29gx1Z90H59B1dGCWGiAxad4zALbFImV1Vpr2p4fNKmX/ZpR+2GZ9mcx/9VN0Ni sX5Y+AZLfcRjOXei/7qjTf9o+0HttF78VKyItGzVIUnjGGQf8uLggEx+stwQCKBL0ag80w AgkFnOOdImk38nq2h/kNIPJI/4/2QCY= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=KLWfkbuT; spf=pass (imf06.hostedemail.com: domain of shy828301@gmail.com designates 209.85.215.175 as permitted sender) smtp.mailfrom=shy828301@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1655328539; a=rsa-sha256; cv=none; b=UNM8WrtBvTXs0A0GmX7C4U6M8GnQfgHeabannNVj9ifAeGy3HShWEU3gJH5vhACUuctfoN 0rUd/ic0B1RUTrlp0eR2L9y0bWQTaE53kMbNn5xa7YxD5yO4usBbFzC+zr313iBuRJHgjt Y7MLH9NW/DeGwNcD7StcqksH1mUDYG8= X-Stat-Signature: j7qakmjae3owkppnq15raudj4cty5dm9 X-Rspamd-Queue-Id: 927B318008F X-Rspamd-Server: rspam11 X-Rspam-User: Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=KLWfkbuT; spf=pass (imf06.hostedemail.com: domain of shy828301@gmail.com designates 209.85.215.175 as permitted sender) smtp.mailfrom=shy828301@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-HE-Tag: 1655328539-170395 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Sat, Jun 11, 2022 at 1:47 AM Miaohe Lin wrote: > > Use helper macro __ATTR_RW to define the khugepaged attributes. Minor > readability improvement. > > Signed-off-by: Miaohe Lin > --- > mm/khugepaged.c | 37 +++++++++++++++---------------------- > 1 file changed, 15 insertions(+), 22 deletions(-) > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index 8e6fad7c7bd9..142e26e4bdbf 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -147,8 +147,7 @@ static ssize_t scan_sleep_millisecs_store(struct kobject *kobj, > return count; > } > static struct kobj_attribute scan_sleep_millisecs_attr = > - __ATTR(scan_sleep_millisecs, 0644, scan_sleep_millisecs_show, > - scan_sleep_millisecs_store); > + __ATTR_RW(scan_sleep_millisecs); > > static ssize_t alloc_sleep_millisecs_show(struct kobject *kobj, > struct kobj_attribute *attr, > @@ -175,8 +174,7 @@ static ssize_t alloc_sleep_millisecs_store(struct kobject *kobj, > return count; > } > static struct kobj_attribute alloc_sleep_millisecs_attr = > - __ATTR(alloc_sleep_millisecs, 0644, alloc_sleep_millisecs_show, > - alloc_sleep_millisecs_store); > + __ATTR_RW(alloc_sleep_millisecs); > > static ssize_t pages_to_scan_show(struct kobject *kobj, > struct kobj_attribute *attr, > @@ -200,8 +198,7 @@ static ssize_t pages_to_scan_store(struct kobject *kobj, > return count; > } > static struct kobj_attribute pages_to_scan_attr = > - __ATTR(pages_to_scan, 0644, pages_to_scan_show, > - pages_to_scan_store); > + __ATTR_RW(pages_to_scan); > > static ssize_t pages_collapsed_show(struct kobject *kobj, > struct kobj_attribute *attr, > @@ -221,13 +218,13 @@ static ssize_t full_scans_show(struct kobject *kobj, > static struct kobj_attribute full_scans_attr = > __ATTR_RO(full_scans); > > -static ssize_t khugepaged_defrag_show(struct kobject *kobj, > +static ssize_t defrag_show(struct kobject *kobj, > struct kobj_attribute *attr, char *buf) Why do you rename all the functions? Seems unnecessary and less intriguing TBH. > { > return single_hugepage_flag_show(kobj, attr, buf, > TRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG); > } > -static ssize_t khugepaged_defrag_store(struct kobject *kobj, > +static ssize_t defrag_store(struct kobject *kobj, > struct kobj_attribute *attr, > const char *buf, size_t count) > { > @@ -235,8 +232,7 @@ static ssize_t khugepaged_defrag_store(struct kobject *kobj, > TRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG); > } > static struct kobj_attribute khugepaged_defrag_attr = > - __ATTR(defrag, 0644, khugepaged_defrag_show, > - khugepaged_defrag_store); > + __ATTR_RW(defrag); > > /* > * max_ptes_none controls if khugepaged should collapse hugepages over > @@ -246,13 +242,13 @@ static struct kobj_attribute khugepaged_defrag_attr = > * runs. Increasing max_ptes_none will instead potentially reduce the > * free memory in the system during the khugepaged scan. > */ > -static ssize_t khugepaged_max_ptes_none_show(struct kobject *kobj, > +static ssize_t max_ptes_none_show(struct kobject *kobj, > struct kobj_attribute *attr, > char *buf) > { > return sysfs_emit(buf, "%u\n", khugepaged_max_ptes_none); > } > -static ssize_t khugepaged_max_ptes_none_store(struct kobject *kobj, > +static ssize_t max_ptes_none_store(struct kobject *kobj, > struct kobj_attribute *attr, > const char *buf, size_t count) > { > @@ -268,17 +264,16 @@ static ssize_t khugepaged_max_ptes_none_store(struct kobject *kobj, > return count; > } > static struct kobj_attribute khugepaged_max_ptes_none_attr = > - __ATTR(max_ptes_none, 0644, khugepaged_max_ptes_none_show, > - khugepaged_max_ptes_none_store); > + __ATTR_RW(max_ptes_none); > > -static ssize_t khugepaged_max_ptes_swap_show(struct kobject *kobj, > +static ssize_t max_ptes_swap_show(struct kobject *kobj, > struct kobj_attribute *attr, > char *buf) > { > return sysfs_emit(buf, "%u\n", khugepaged_max_ptes_swap); > } > > -static ssize_t khugepaged_max_ptes_swap_store(struct kobject *kobj, > +static ssize_t max_ptes_swap_store(struct kobject *kobj, > struct kobj_attribute *attr, > const char *buf, size_t count) > { > @@ -295,17 +290,16 @@ static ssize_t khugepaged_max_ptes_swap_store(struct kobject *kobj, > } > > static struct kobj_attribute khugepaged_max_ptes_swap_attr = > - __ATTR(max_ptes_swap, 0644, khugepaged_max_ptes_swap_show, > - khugepaged_max_ptes_swap_store); > + __ATTR_RW(max_ptes_swap); > > -static ssize_t khugepaged_max_ptes_shared_show(struct kobject *kobj, > +static ssize_t max_ptes_shared_show(struct kobject *kobj, > struct kobj_attribute *attr, > char *buf) > { > return sysfs_emit(buf, "%u\n", khugepaged_max_ptes_shared); > } > > -static ssize_t khugepaged_max_ptes_shared_store(struct kobject *kobj, > +static ssize_t max_ptes_shared_store(struct kobject *kobj, > struct kobj_attribute *attr, > const char *buf, size_t count) > { > @@ -322,8 +316,7 @@ static ssize_t khugepaged_max_ptes_shared_store(struct kobject *kobj, > } > > static struct kobj_attribute khugepaged_max_ptes_shared_attr = > - __ATTR(max_ptes_shared, 0644, khugepaged_max_ptes_shared_show, > - khugepaged_max_ptes_shared_store); > + __ATTR_RW(max_ptes_shared); > > static struct attribute *khugepaged_attr[] = { > &khugepaged_defrag_attr.attr, > -- > 2.23.0 > >