[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20200312173148.6647751b1ad538687563f652@linux-foundation.org>
Date: Thu, 12 Mar 2020 17:31:48 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Stephen Rothwell <sfr@...b.auug.org.au>
Cc: Linux Next Mailing List <linux-next@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Claudio Imbrenda <imbrenda@...ux.ibm.com>
Subject: Re: linux-next: build warning after merge of the akpm-current tree
On Thu, 12 Mar 2020 18:27:25 +1100 Stephen Rothwell <sfr@...b.auug.org.au> wrote:
> Hi all,
>
> After merging the akpm-current tree, today's linux-next build (arm
> multi_v7_defconfig) produced this warning:
>
> mm/gup.c:119:13: warning: 'put_compound_head' defined but not used [-Wunused-function]
> 119 | static void put_compound_head(struct page *page, int refs, unsigned int flags)
> | ^~~~~~~~~~~~~~~~~
>
> Introduced by commit
>
> 6379e529ebe4 ("mm/gup: fixup for 9947ea2c1e608e32 "mm/gup: track FOLL_PIN pages"")
>
Thanks.
I think this is right. And I don't think it'll apply to most recent
-next.
--- a/mm/gup.c~mm-gup-track-foll_pin-pages-fix-2-fix
+++ a/mm/gup.c
@@ -78,21 +78,6 @@ static __maybe_unused struct page *try_g
return NULL;
}
-static void put_compound_head(struct page *page, int refs, unsigned int flags)
-{
- if (flags & FOLL_PIN)
- refs *= GUP_PIN_COUNTING_BIAS;
-
- VM_BUG_ON_PAGE(page_ref_count(page) < refs, page);
- /*
- * Calling put_page() for each ref is unnecessarily slow. Only the last
- * ref needs a put_page().
- */
- if (refs > 1)
- page_ref_sub(page, refs - 1);
- put_page(page);
-}
-
/**
* try_grab_page() - elevate a page's refcount by a flag-dependent amount
*
@@ -1967,7 +1952,24 @@ EXPORT_SYMBOL(get_user_pages_unlocked);
* This code is based heavily on the PowerPC implementation by Nick Piggin.
*/
#ifdef CONFIG_HAVE_FAST_GUP
+
+static void put_compound_head(struct page *page, int refs, unsigned int flags)
+{
+ if (flags & FOLL_PIN)
+ refs *= GUP_PIN_COUNTING_BIAS;
+
+ VM_BUG_ON_PAGE(page_ref_count(page) < refs, page);
+ /*
+ * Calling put_page() for each ref is unnecessarily slow. Only the last
+ * ref needs a put_page().
+ */
+ if (refs > 1)
+ page_ref_sub(page, refs - 1);
+ put_page(page);
+}
+
#ifdef CONFIG_GUP_GET_PTE_LOW_HIGH
+
/*
* WARNING: only to be used in the get_user_pages_fast() implementation.
*
_
Powered by blists - more mailing lists