Message ID | 20240524091310.1430048-11-linmiaohe@huawei.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Some cleanups for memory-failure | expand |
Hi Miaohe, kernel test robot noticed the following build errors: [auto build test ERROR on akpm-mm/mm-everything] [also build test ERROR on linus/master next-20240523] [cannot apply to v6.9] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Miaohe-Lin/mm-memory-failure-simplify-put_ref_page/20240524-171903 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything patch link: https://lore.kernel.org/r/20240524091310.1430048-11-linmiaohe%40huawei.com patch subject: [PATCH 10/13] mm/memory-failure: move some function declarations into internal.h config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20240525/202405251049.hxjwX7zO-lkp@intel.com/config) compiler: powerpc64-linux-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240525/202405251049.hxjwX7zO-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/202405251049.hxjwX7zO-lkp@intel.com/ All errors (new ones prefixed by >>): drivers/vfio/vfio_iommu_spapr_tce.c: In function 'tce_page_is_contained': >> drivers/vfio/vfio_iommu_spapr_tce.c:195:16: error: implicit declaration of function 'page_shift'; did you mean 'page_size'? [-Werror=implicit-function-declaration] 195 | return page_shift(compound_head(page)) >= it_page_shift; | ^~~~~~~~~~ | page_size cc1: some warnings being treated as errors -- arch/powerpc/mm/book3s64/iommu_api.c: In function 'mm_iommu_do_alloc': >> arch/powerpc/mm/book3s64/iommu_api.c:155:45: error: implicit declaration of function 'page_shift'; did you mean 'page_size'? [-Werror=implicit-function-declaration] 155 | pageshift = page_shift(compound_head(page)); | ^~~~~~~~~~ | page_size cc1: some warnings being treated as errors -- drivers/net/ethernet/ibm/ehea/ehea_qmr.c: In function 'ehea_is_hugepage': >> drivers/net/ethernet/ibm/ehea/ehea_qmr.c:676:13: error: implicit declaration of function 'page_shift'; did you mean 'page_size'? [-Werror=implicit-function-declaration] 676 | if (page_shift(pfn_to_page(pfn)) != EHEA_HUGEPAGESHIFT) | ^~~~~~~~~~ | page_size cc1: some warnings being treated as errors vim +195 drivers/vfio/vfio_iommu_spapr_tce.c 2157e7b82f3b81 Alexey Kardashevskiy 2015-06-05 179 c10c21efa4bcca Alexey Kardashevskiy 2018-12-19 180 static bool tce_page_is_contained(struct mm_struct *mm, unsigned long hpa, 94ad9338109fe9 Matthew Wilcox (Oracle 2019-09-23 181) unsigned int it_page_shift) e432bc7e15d802 Alexey Kardashevskiy 2015-06-05 182 { c10c21efa4bcca Alexey Kardashevskiy 2018-12-19 183 struct page *page; c10c21efa4bcca Alexey Kardashevskiy 2018-12-19 184 unsigned long size = 0; c10c21efa4bcca Alexey Kardashevskiy 2018-12-19 185 94ad9338109fe9 Matthew Wilcox (Oracle 2019-09-23 186) if (mm_iommu_is_devmem(mm, hpa, it_page_shift, &size)) 94ad9338109fe9 Matthew Wilcox (Oracle 2019-09-23 187) return size == (1UL << it_page_shift); c10c21efa4bcca Alexey Kardashevskiy 2018-12-19 188 c10c21efa4bcca Alexey Kardashevskiy 2018-12-19 189 page = pfn_to_page(hpa >> PAGE_SHIFT); e432bc7e15d802 Alexey Kardashevskiy 2015-06-05 190 /* e432bc7e15d802 Alexey Kardashevskiy 2015-06-05 191 * Check that the TCE table granularity is not bigger than the size of e432bc7e15d802 Alexey Kardashevskiy 2015-06-05 192 * a page we just found. Otherwise the hardware can get access to e432bc7e15d802 Alexey Kardashevskiy 2015-06-05 193 * a bigger memory chunk that it should. e432bc7e15d802 Alexey Kardashevskiy 2015-06-05 194 */ 94ad9338109fe9 Matthew Wilcox (Oracle 2019-09-23 @195) return page_shift(compound_head(page)) >= it_page_shift; e432bc7e15d802 Alexey Kardashevskiy 2015-06-05 196 } e432bc7e15d802 Alexey Kardashevskiy 2015-06-05 197
On 2024/5/25 10:39, kernel test robot wrote: > Hi Miaohe, > > kernel test robot noticed the following build errors: > > [auto build test ERROR on akpm-mm/mm-everything] > [also build test ERROR on linus/master next-20240523] > [cannot apply to v6.9] > [If your patch is applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > url: https://github.com/intel-lab-lkp/linux/commits/Miaohe-Lin/mm-memory-failure-simplify-put_ref_page/20240524-171903 > base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything > patch link: https://lore.kernel.org/r/20240524091310.1430048-11-linmiaohe%40huawei.com > patch subject: [PATCH 10/13] mm/memory-failure: move some function declarations into internal.h > config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20240525/202405251049.hxjwX7zO-lkp@intel.com/config) > compiler: powerpc64-linux-gcc (GCC) 13.2.0 > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240525/202405251049.hxjwX7zO-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/202405251049.hxjwX7zO-lkp@intel.com/ > > All errors (new ones prefixed by >>): > > drivers/vfio/vfio_iommu_spapr_tce.c: In function 'tce_page_is_contained': >>> drivers/vfio/vfio_iommu_spapr_tce.c:195:16: error: implicit declaration of function 'page_shift'; did you mean 'page_size'? [-Werror=implicit-function-declaration] > 195 | return page_shift(compound_head(page)) >= it_page_shift; > | ^~~~~~~~~~ > | page_size > cc1: some warnings being treated as errors > -- > arch/powerpc/mm/book3s64/iommu_api.c: In function 'mm_iommu_do_alloc': >>> arch/powerpc/mm/book3s64/iommu_api.c:155:45: error: implicit declaration of function 'page_shift'; did you mean 'page_size'? [-Werror=implicit-function-declaration] > 155 | pageshift = page_shift(compound_head(page)); > | ^~~~~~~~~~ > | page_size > cc1: some warnings being treated as errors > -- > drivers/net/ethernet/ibm/ehea/ehea_qmr.c: In function 'ehea_is_hugepage': >>> drivers/net/ethernet/ibm/ehea/ehea_qmr.c:676:13: error: implicit declaration of function 'page_shift'; did you mean 'page_size'? [-Werror=implicit-function-declaration] > 676 | if (page_shift(pfn_to_page(pfn)) != EHEA_HUGEPAGESHIFT) > | ^~~~~~~~~~ > | page_size > cc1: some warnings being treated as errors Will fix this too. Thanks for testing and reporting. Thanks. .
diff --git a/include/linux/mm.h b/include/linux/mm.h index 4bc97ae25ade..d5174b3b792b 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1330,12 +1330,6 @@ static inline unsigned long page_size(struct page *page) return PAGE_SIZE << compound_order(page); } -/* Returns the number of bits needed for the number of bytes in a page */ -static inline unsigned int page_shift(struct page *page) -{ - return PAGE_SHIFT + compound_order(page); -} - /** * thp_order - Order of a transparent huge page. * @page: Head page of a transparent huge page. @@ -4032,7 +4026,6 @@ extern int __get_huge_page_for_hwpoison(unsigned long pfn, int flags, bool *migratable_cleared); void num_poisoned_pages_inc(unsigned long pfn); void num_poisoned_pages_sub(unsigned long pfn, long i); -struct task_struct *task_early_kill(struct task_struct *tsk, int force_early); #else static inline void memory_failure_queue(unsigned long pfn, int flags) { @@ -4053,12 +4046,6 @@ static inline void num_poisoned_pages_sub(unsigned long pfn, long i) } #endif -#if defined(CONFIG_MEMORY_FAILURE) && defined(CONFIG_KSM) -void add_to_kill_ksm(struct task_struct *tsk, struct page *p, - struct vm_area_struct *vma, struct list_head *to_kill, - unsigned long ksm_addr); -#endif - #if defined(CONFIG_MEMORY_FAILURE) && defined(CONFIG_MEMORY_HOTPLUG) extern void memblk_nr_poison_inc(unsigned long pfn); extern void memblk_nr_poison_sub(unsigned long pfn, long i); diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 104078afe0b1..00c33a6ea367 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -616,11 +616,6 @@ PAGEFLAG_FALSE(Uncached, uncached) PAGEFLAG(HWPoison, hwpoison, PF_ANY) TESTSCFLAG(HWPoison, hwpoison, PF_ANY) #define __PG_HWPOISON (1UL << PG_hwpoison) -#define MAGIC_HWPOISON 0x48575053U /* HWPS */ -extern void SetPageHWPoisonTakenOff(struct page *page); -extern void ClearPageHWPoisonTakenOff(struct page *page); -extern bool take_page_off_buddy(struct page *page); -extern bool put_page_back_buddy(struct page *page); #else PAGEFLAG_FALSE(HWPoison, hwpoison) #define __PG_HWPOISON 0 diff --git a/include/linux/rmap.h b/include/linux/rmap.h index 5cb0d419a1d7..ece0515ee21c 100644 --- a/include/linux/rmap.h +++ b/include/linux/rmap.h @@ -733,8 +733,6 @@ int pfn_mkclean_range(unsigned long pfn, unsigned long nr_pages, pgoff_t pgoff, void remove_migration_ptes(struct folio *src, struct folio *dst, bool locked); -unsigned long page_mapped_in_vma(struct page *page, struct vm_area_struct *vma); - /* * rmap_walk_control: To control rmap traversing for specific needs * diff --git a/mm/internal.h b/mm/internal.h index bbec99cc9d9d..188e292d2a77 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1061,6 +1061,22 @@ extern u64 hwpoison_filter_flags_mask; extern u64 hwpoison_filter_flags_value; extern u64 hwpoison_filter_memcg; extern u32 hwpoison_filter_enable; +#define MAGIC_HWPOISON 0x48575053U /* HWPS */ +extern void SetPageHWPoisonTakenOff(struct page *page); +extern void ClearPageHWPoisonTakenOff(struct page *page); +extern bool take_page_off_buddy(struct page *page); +extern bool put_page_back_buddy(struct page *page); +struct task_struct *task_early_kill(struct task_struct *tsk, int force_early); +void add_to_kill_ksm(struct task_struct *tsk, struct page *p, + struct vm_area_struct *vma, struct list_head *to_kill, + unsigned long ksm_addr); +unsigned long page_mapped_in_vma(struct page *page, struct vm_area_struct *vma); + +/* Returns the number of bits needed for the number of bytes in a page */ +static inline unsigned int page_shift(struct page *page) +{ + return PAGE_SHIFT + compound_order(page); +} extern unsigned long __must_check vm_mmap_pgoff(struct file *, unsigned long, unsigned long, unsigned long,
There are some functions only used inside mm. Move them into internal.h. No functional change intended. Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> --- include/linux/mm.h | 13 ------------- include/linux/page-flags.h | 5 ----- include/linux/rmap.h | 2 -- mm/internal.h | 16 ++++++++++++++++ 4 files changed, 16 insertions(+), 20 deletions(-)