Re: [PATCH 11/16] mm: consolidate the get_user_pages* implementations

From: Christoph Hellwig
Date: Tue Jun 25 2019 - 03:57:26 EST


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.