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:
quoted
quoted
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.
quoted
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