linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [hnaz-linux-mm:master 82/248] arch/powerpc/mm/nohash/tlb.c:409:6: warning: no previous prototype for 'tlb_flush_pgtable'
@ 2020-07-08 14:17 kernel test robot
  2020-07-08 15:15 ` Mike Rapoport
  0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2020-07-08 14:17 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: kbuild-all, Johannes Weiner, Pekka Enberg, Andrew Morton,
	Linux Memory Management List

[-- Attachment #1: Type: text/plain, Size: 5253 bytes --]

tree:   https://github.com/hnaz/linux-mm master
head:   7ffdd789c7f570af323ad890ab09118af2e3b0d9
commit: 9939c9934d2e30d1a3b3f7d85572ce3d5f2b0c90 [82/248] mm: remove unneeded includes of <asm/pgalloc.h>
config: powerpc-randconfig-r032-20200708 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 9939c9934d2e30d1a3b3f7d85572ce3d5f2b0c90
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> arch/powerpc/mm/nohash/tlb.c:409:6: warning: no previous prototype for 'tlb_flush_pgtable' [-Wmissing-prototypes]
     409 | void tlb_flush_pgtable(struct mmu_gather *tlb, unsigned long address)
         |      ^~~~~~~~~~~~~~~~~

vim +/tlb_flush_pgtable +409 arch/powerpc/mm/nohash/tlb.c

25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  404  
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  405  /*
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  406   * Handling of virtual linear page tables or indirect TLB entries
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  407   * flushing when PTE pages are freed
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  408   */
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23 @409  void tlb_flush_pgtable(struct mmu_gather *tlb, unsigned long address)
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  410  {
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  411  	int tsize = mmu_psize_defs[mmu_pte_psize].enc;
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  412  
28efc35fe68dac arch/powerpc/mm/tlb_nohash.c Scott Wood             2013-10-11  413  	if (book3e_htw_mode != PPC_HTW_NONE) {
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  414  		unsigned long start = address & PMD_MASK;
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  415  		unsigned long end = address + PMD_SIZE;
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  416  		unsigned long size = 1UL << mmu_psize_defs[mmu_pte_psize].shift;
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  417  
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  418  		/* This isn't the most optimal, ideally we would factor out the
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  419  		 * while preempt & CPU mask mucking around, or even the IPI but
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  420  		 * it will do for now
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  421  		 */
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  422  		while (start < end) {
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  423  			__flush_tlb_page(tlb->mm, start, tsize, 1);
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  424  			start += size;
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  425  		}
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  426  	} else {
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  427  		unsigned long rmask = 0xf000000000000000ul;
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  428  		unsigned long rid = (address & rmask) | 0x1000000000000000ul;
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  429  		unsigned long vpte = address & ~rmask;
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  430  
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  431  		vpte = (vpte >> (PAGE_SHIFT - 3)) & ~0xffful;
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  432  		vpte |= rid;
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  433  		__flush_tlb_page(tlb->mm, vpte, tsize, 0);
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  434  	}
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  435  }
25d21ad6e799cc arch/powerpc/mm/tlb_nohash.c Benjamin Herrenschmidt 2009-07-23  436  

:::::: The code at line 409 was first introduced by commit
:::::: 25d21ad6e799cccd097b9df2a2fefe19a7e1dfcf powerpc: Add TLB management code for 64-bit Book3E

:::::: TO: Benjamin Herrenschmidt <benh@kernel.crashing.org>
:::::: CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 31392 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [hnaz-linux-mm:master 82/248] arch/powerpc/mm/nohash/tlb.c:409:6: warning: no previous prototype for 'tlb_flush_pgtable'
  2020-07-08 14:17 [hnaz-linux-mm:master 82/248] arch/powerpc/mm/nohash/tlb.c:409:6: warning: no previous prototype for 'tlb_flush_pgtable' kernel test robot
@ 2020-07-08 15:15 ` Mike Rapoport
  0 siblings, 0 replies; 2+ messages in thread
From: Mike Rapoport @ 2020-07-08 15:15 UTC (permalink / raw)
  To: kernel test robot
  Cc: kbuild-all, Johannes Weiner, Pekka Enberg, Andrew Morton,
	Linux Memory Management List

On Wed, Jul 08, 2020 at 10:17:08PM +0800, kernel test robot wrote:
> tree:   https://github.com/hnaz/linux-mm master
> head:   7ffdd789c7f570af323ad890ab09118af2e3b0d9
> commit: 9939c9934d2e30d1a3b3f7d85572ce3d5f2b0c90 [82/248] mm: remove unneeded includes of <asm/pgalloc.h>
> config: powerpc-randconfig-r032-20200708 (attached as .config)
> compiler: powerpc64-linux-gcc (GCC) 9.3.0
> reproduce (this is a W=1 build):
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         git checkout 9939c9934d2e30d1a3b3f7d85572ce3d5f2b0c90
>         # save the attached .config to linux build tree
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc 
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All warnings (new ones prefixed by >>):
> 
> >> arch/powerpc/mm/nohash/tlb.c:409:6: warning: no previous prototype for 'tlb_flush_pgtable' [-Wmissing-prototypes]
>      409 | void tlb_flush_pgtable(struct mmu_gather *tlb, unsigned long address)
>          |      ^~~~~~~~~~~~~~~~~

Here is the fix:

From f3c049a1b49f6ed92a61746e05a0087943d79254 Mon Sep 17 00:00:00 2001
From: Mike Rapoport <rppt@linux.ibm.com>
Date: Wed, 8 Jul 2020 18:10:47 +0300
Subject: [PATCH] powerpc: fix compilation warning caused by missing include of
 asm/pgalloc.h

Recent rework of asm/pgalloc.h caused a compilation warning reported by
kbuild bot:

All warnings (new ones prefixed by >>):

>> arch/powerpc/mm/nohash/tlb.c:409:6: warning: no previous prototype for
>> 'tlb_flush_pgtable' [-Wmissing-prototypes]
     409 | void tlb_flush_pgtable(struct mmu_gather *tlb, unsigned long address)
         |      ^~~~~~~~~~~~~~~~~

Add missing include of asm/pgtable.h to arch/powerpc/mm/nohash/tlb.c to
make tlb_flush_pgtable() prototype visible there.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
---
 arch/powerpc/mm/nohash/tlb.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/mm/nohash/tlb.c b/arch/powerpc/mm/nohash/tlb.c
index 696f568253a0..14514585db98 100644
--- a/arch/powerpc/mm/nohash/tlb.c
+++ b/arch/powerpc/mm/nohash/tlb.c
@@ -34,6 +34,7 @@
 #include <linux/of_fdt.h>
 #include <linux/hugetlb.h>
 
+#include <asm/pgalloc.h>
 #include <asm/tlbflush.h>
 #include <asm/tlb.h>
 #include <asm/code-patching.h>
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-07-08 15:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-08 14:17 [hnaz-linux-mm:master 82/248] arch/powerpc/mm/nohash/tlb.c:409:6: warning: no previous prototype for 'tlb_flush_pgtable' kernel test robot
2020-07-08 15:15 ` Mike Rapoport

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).