All of lore.kernel.org
 help / color / mirror / Atom feed
From: Muchun Song <songmuchun@bytedance.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Roman Gushchin <guro@fb.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Michal Hocko <mhocko@kernel.org>,
	Shakeel Butt <shakeelb@google.com>,
	Vladimir Davydov <vdavydov.dev@gmail.com>,
	Matthew Wilcox <willy@infradead.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Linux Memory Management List <linux-mm@kvack.org>
Subject: Re: [PATCH] mm: introduce PAGEFLAGS_MASK to replace ((1UL << NR_PAGEFLAGS) - 1)
Date: Thu, 19 Aug 2021 14:33:37 +0800	[thread overview]
Message-ID: <CAMZfGtW-5eVqvqWpaeYT6HcpMdJ3zDimSFT-=JwxVJuuFH0FnQ@mail.gmail.com> (raw)
In-Reply-To: <20210818003919.5bd008fec6cb0436af2443c4@linux-foundation.org>

On Wed, Aug 18, 2021 at 3:39 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> On Tue, 17 Aug 2021 21:44:36 -0700 Roman Gushchin <guro@fb.com> wrote:
>
> > On Wed, Aug 18, 2021 at 12:35:08PM +0800, Muchun Song wrote:
> > > On Wed, Aug 18, 2021 at 10:16 AM Roman Gushchin <guro@fb.com> wrote:
> > > >
> > > > On Tue, Aug 17, 2021 at 11:30:32AM +0800, Muchun Song wrote:
> > > > > Instead of hard-coding ((1UL << NR_PAGEFLAGS) - 1) everywhere, introducing
> > > > > PAGEFLAGS_MASK to make the code clear to get the page flags.
> > > > >
> > > > > Signed-off-by: Muchun Song <songmuchun@bytedance.com>
> > > > > ---
> > > > >  include/linux/page-flags.h      | 4 +++-
> > > > >  include/trace/events/page_ref.h | 4 ++--
> > > > >  lib/test_printf.c               | 2 +-
> > > > >  lib/vsprintf.c                  | 2 +-
> > > > >  4 files changed, 7 insertions(+), 5 deletions(-)
> > > > >
> > > > > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
> > > > > index 54c4af35c628..1f951ac24a5e 100644
> > > > > --- a/include/linux/page-flags.h
> > > > > +++ b/include/linux/page-flags.h
> > > > > @@ -180,6 +180,8 @@ enum pageflags {
> > > > >       PG_reported = PG_uptodate,
> > > > >  };
> > > > >
> > > > > +#define PAGEFLAGS_MASK               (~((1UL << NR_PAGEFLAGS) - 1))
> > > >
> > > > Hm, isn't it better to invert it? Like
> > > > #define PAGEFLAGS_MASK          ((1UL << NR_PAGEFLAGS) - 1)
> > > >
> > > > It feels more usual and will simplify the rest of the patch.
> > >
> > > Actually, I learned from PAGE_MASK. So I thought the macro
> > > like xxx_MASK should be the format of 0xff...ff00...00. I don't
> > > know if it is an unwritten rule. I can invert PAGEFLAGS_MASK
> > > if it's not a rule.
> >
> > There are many examples of both approached in the kernel tree,
> > however I'd say the more common is without "~" (out of my head).
> >
> > It's definitely OK to define it like
> > #define PAGEFLAGS_MASK          ((1UL << NR_PAGEFLAGS) - 1)
> >
>
> PAGE_MASK has always seemed weird to me but I figured that emulating it
> would be the approach of least surprise.  Might be wrong about that...

IIUC, you seem to agree with the current approach. Right?

  reply	other threads:[~2021-08-19  6:34 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-17  3:30 [PATCH] mm: introduce PAGEFLAGS_MASK to replace ((1UL << NR_PAGEFLAGS) - 1) Muchun Song
2021-08-18  2:16 ` Roman Gushchin
2021-08-18  4:35   ` Muchun Song
2021-08-18  4:35     ` Muchun Song
2021-08-18  4:44     ` Roman Gushchin
2021-08-18  5:32       ` Muchun Song
2021-08-18  5:32         ` Muchun Song
2021-08-18  7:39       ` Andrew Morton
2021-08-19  6:33         ` Muchun Song [this message]
2021-08-19  6:33           ` Muchun Song
2021-08-19 11:18           ` Johannes Weiner
2021-08-19 15:05             ` Muchun Song
2021-08-19 15:05               ` Muchun Song

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='CAMZfGtW-5eVqvqWpaeYT6HcpMdJ3zDimSFT-=JwxVJuuFH0FnQ@mail.gmail.com' \
    --to=songmuchun@bytedance.com \
    --cc=akpm@linux-foundation.org \
    --cc=guro@fb.com \
    --cc=hannes@cmpxchg.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@kernel.org \
    --cc=shakeelb@google.com \
    --cc=vdavydov.dev@gmail.com \
    --cc=willy@infradead.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.