[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190625115613.GB3711@ziepe.ca>
Date: Tue, 25 Jun 2019 08:56:13 -0300
From: Jason Gunthorpe <jgg@...pe.ca>
To: Christoph Hellwig <hch@....de>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Paul Burton <paul.burton@...s.com>,
James Hogan <jhogan@...nel.org>,
Yoshinori Sato <ysato@...rs.sourceforge.jp>,
Rich Felker <dalias@...c.org>,
"David S. Miller" <davem@...emloft.net>,
Nicholas Piggin <npiggin@...il.com>,
Khalid Aziz <khalid.aziz@...cle.com>,
Andrey Konovalov <andreyknvl@...gle.com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
Michael Ellerman <mpe@...erman.id.au>,
linux-mips@...r.kernel.org, linux-sh@...r.kernel.org,
sparclinux@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
linux-mm@...ck.org, x86@...nel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 11/16] mm: consolidate the get_user_pages* implementations
On Tue, Jun 25, 2019 at 09:56:50AM +0200, Christoph Hellwig wrote:
> On Fri, Jun 21, 2019 at 11:41:31AM -0300, Jason Gunthorpe wrote:
> > > static bool gup_fast_permitted(unsigned long start, unsigned long end)
> > > {
> > > - return true;
> > > + return IS_ENABLED(CONFIG_HAVE_FAST_GUP) ? true : false;
> >
> > The ?: is needed with IS_ENABLED?
>
> It shouldn't, I'll fix it up.
>
> > I'd suggest to revise this block a tiny bit:
> >
> > -#ifndef gup_fast_permitted
> > +#if !IS_ENABLED(CONFIG_HAVE_FAST_GUP) || !defined(gup_fast_permitted)
> > /*
> > * Check if it's allowed to use __get_user_pages_fast() for the range, or
> > * we need to fall back to the slow version:
> > */
> > -bool gup_fast_permitted(unsigned long start, int nr_pages)
> > +static bool gup_fast_permitted(unsigned long start, int nr_pages)
> > {
> >
> > Just in case some future arch code mismatches the header and kconfig..
>
> IS_ENABLED outside a function doesn't really make sense. But I'll
> just life the IS_ENABLED(CONFIG_HAVE_FAST_GUP) checks into the two
> callers.
I often see '#if IS_ENABLED(CONFIG_X)', IIRC last I looked at that, it
was needed because the usual #ifdef CONFIG_X didn't work if the value
was =m?
Would be interested to know if that is not the right way to use
kconfig
Jason
Powered by blists - more mailing lists