public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
* [davidhildenbrand:rmap_batching 135/136] include/asm-generic/tlb.h:631:3: error: call to undeclared function '__tlb_remove_tlb_entry'; ISO C99 and later do not support implicit function declarations
@ 2024-01-28 16:52 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-01-28 16:52 UTC (permalink / raw)
  To: David Hildenbrand; +Cc: llvm, oe-kbuild-all

tree:   https://github.com/davidhildenbrand/linux rmap_batching
head:   865e6d6a176a1f50bcbb7dd1d6a57b803e398039
commit: 4779a2a486fbf2d3850b6256cd4c51f2d617c714 [135/136] mm/mmu_gather: add tlb_remove_tlb_entries()
config: powerpc-allyesconfig (https://download.01.org/0day-ci/archive/20240129/202401290041.ATnzeEJA-lkp@intel.com/config)
compiler: clang version 18.0.0git (https://github.com/llvm/llvm-project a31a60074717fc40887cfe132b77eec93bedd307)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240129/202401290041.ATnzeEJA-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401290041.ATnzeEJA-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from fs/proc/task_mmu.c:27:
   In file included from arch/powerpc/include/asm/tlb.h:39:
>> include/asm-generic/tlb.h:631:3: error: call to undeclared function '__tlb_remove_tlb_entry'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     631 |                 __tlb_remove_tlb_entry(tlb, ptep, address);
         |                 ^
   arch/powerpc/include/asm/tlb.h:22:32: note: expanded from macro '__tlb_remove_tlb_entry'
      22 | #define __tlb_remove_tlb_entry  __tlb_remove_tlb_entry
         |                                 ^
   include/asm-generic/tlb.h:631:3: note: did you mean 'tlb_remove_tlb_entries'?
   arch/powerpc/include/asm/tlb.h:22:32: note: expanded from macro '__tlb_remove_tlb_entry'
      22 | #define __tlb_remove_tlb_entry  __tlb_remove_tlb_entry
         |                                 ^
   include/asm-generic/tlb.h:626:20: note: 'tlb_remove_tlb_entries' declared here
     626 | static inline void tlb_remove_tlb_entries(struct mmu_gather *tlb,
         |                    ^
     627 |                 pte_t *ptep, unsigned int nr, unsigned long address)
     628 | {
     629 |         tlb_flush_pte_range(tlb, address, PAGE_SIZE * nr);
     630 |         for (;;) {
     631 |                 __tlb_remove_tlb_entry(tlb, ptep, address);
         |                 ~~~~~~~~~~~~~~~~~~~~~~
         |                 tlb_remove_tlb_entries
   In file included from fs/proc/task_mmu.c:27:
   arch/powerpc/include/asm/tlb.h:41:20: error: static declaration of '__tlb_remove_tlb_entry' follows non-static declaration
      41 | static inline void __tlb_remove_tlb_entry(struct mmu_gather *tlb, pte_t *ptep,
         |                    ^
   arch/powerpc/include/asm/tlb.h:22:32: note: expanded from macro '__tlb_remove_tlb_entry'
      22 | #define __tlb_remove_tlb_entry  __tlb_remove_tlb_entry
         |                                 ^
   include/asm-generic/tlb.h:631:3: note: previous implicit declaration is here
     631 |                 __tlb_remove_tlb_entry(tlb, ptep, address);
         |                 ^
   arch/powerpc/include/asm/tlb.h:22:32: note: expanded from macro '__tlb_remove_tlb_entry'
      22 | #define __tlb_remove_tlb_entry  __tlb_remove_tlb_entry
         |                                 ^
   2 errors generated.


vim +/__tlb_remove_tlb_entry +631 include/asm-generic/tlb.h

   605	
   606	/**
   607	 * tlb_remove_tlb_entry - remember a pte unmapping for later tlb invalidation.
   608	 *
   609	 * Record the fact that pte's were really unmapped by updating the range,
   610	 * so we can later optimise away the tlb invalidate.   This helps when
   611	 * userspace is unmapping already-unmapped pages, which happens quite a lot.
   612	 */
   613	#define tlb_remove_tlb_entry(tlb, ptep, address)		\
   614		do {							\
   615			tlb_flush_pte_range(tlb, address, PAGE_SIZE);	\
   616			__tlb_remove_tlb_entry(tlb, ptep, address);	\
   617		} while (0)
   618	
   619	/**
   620	 * tlb_remove_tlb_entries - remember unmapping of multiple consecutive ptes for
   621	 *			    later tlb invalidation.
   622	 *
   623	 * Similar to tlb_remove_tlb_entry(), but remember unmapping of multiple
   624	 * consecutive ptes instead of only a single one.
   625	 */
   626	static inline void tlb_remove_tlb_entries(struct mmu_gather *tlb,
   627			pte_t *ptep, unsigned int nr, unsigned long address)
   628	{
   629		tlb_flush_pte_range(tlb, address, PAGE_SIZE * nr);
   630		for (;;) {
 > 631			__tlb_remove_tlb_entry(tlb, ptep, address);
   632			if (--nr == 0)
   633				break;
   634			ptep++;
   635			address += PAGE_SIZE;
   636		}
   637	}
   638	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-01-28 16:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-28 16:52 [davidhildenbrand:rmap_batching 135/136] include/asm-generic/tlb.h:631:3: error: call to undeclared function '__tlb_remove_tlb_entry'; ISO C99 and later do not support implicit function declarations kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox