From: Michal Hocko <mhocko@suse.com>
To: Wei Yang <richard.weiyang@gmail.com>
Cc: linux-mm@kvack.org, akpm@linux-foundation.org, osalvador@suse.de
Subject: Re: [PATCH] mm, sparse: remove check with __highest_present_section_nr in for_each_present_section_nr()
Date: Tue, 11 Dec 2018 10:44:41 +0100 [thread overview]
Message-ID: <20181211094441.GD1286@dhcp22.suse.cz> (raw)
In-Reply-To: <20181211035128.43256-1-richard.weiyang@gmail.com>
On Tue 11-12-18 11:51:28, Wei Yang wrote:
> A valid present section number is in [0, __highest_present_section_nr].
> And the return value of next_present_section_nr() meets this
> requirement. This means it is not necessary to check it with
> __highest_present_section_nr again in for_each_present_section_nr().
>
> Since we pass an unsigned long *section_nr* to
> for_each_present_section_nr(), we need to cast it to int before
> comparing.
Why do we want this patch? Is it an improvement? If yes, it is
performance visible change or does it make the code easier to maintain?
To me at least the later seems dubious to be honest because it adds a
non-obvious dependency of the terminal condition to the
next_present_section_nr implementation and that might turn out error
prone.
> Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
> ---
> mm/sparse.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/mm/sparse.c b/mm/sparse.c
> index a4fdbcb21514..9eaa8f98a3d2 100644
> --- a/mm/sparse.c
> +++ b/mm/sparse.c
> @@ -197,8 +197,7 @@ static inline int next_present_section_nr(int section_nr)
> }
> #define for_each_present_section_nr(start, section_nr) \
> for (section_nr = next_present_section_nr(start-1); \
> - ((section_nr >= 0) && \
> - (section_nr <= __highest_present_section_nr)); \
> + (int)section_nr >= 0; \
> section_nr = next_present_section_nr(section_nr))
>
> static inline unsigned long first_present_section_nr(void)
> --
> 2.15.1
>
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2018-12-11 9:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-11 3:51 Wei Yang
2018-12-11 5:09 ` Wei Yang
2018-12-11 9:44 ` Michal Hocko [this message]
2018-12-11 10:19 ` Wei Yang
2018-12-11 10:23 ` Michal Hocko
2018-12-11 14:41 ` Wei Yang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181211094441.GD1286@dhcp22.suse.cz \
--to=mhocko@suse.com \
--cc=akpm@linux-foundation.org \
--cc=linux-mm@kvack.org \
--cc=osalvador@suse.de \
--cc=richard.weiyang@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox