linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Re: linux-next: build failure after merge of the akpm-current tree
       [not found] <20191105211920.787df2ab@canb.auug.org.au>
@ 2019-11-06  0:00 ` Mike Kravetz
  2019-11-11 10:24   ` Michael Ellerman
  0 siblings, 1 reply; 7+ messages in thread
From: Mike Kravetz @ 2019-11-06  0:00 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Andrew Morton, Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, linux-mm

On 11/5/19 2:19 AM, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the akpm-current tree, today's linux-next build (powerpc64
> allnoconfig) failed like this:
> 
> In file included from arch/powerpc/mm/mem.c:30:
> include/linux/hugetlb.h:233:19: error: redefinition of 'pmd_huge'
>   233 | static inline int pmd_huge(pmd_t pmd)
>       |                   ^~~~~~~~
> In file included from arch/powerpc/include/asm/book3s/64/pgtable.h:301,
>                  from arch/powerpc/include/asm/book3s/64/mmu-hash.h:20,
>                  from arch/powerpc/include/asm/book3s/64/mmu.h:46,
>                  from arch/powerpc/include/asm/mmu.h:356,
>                  from arch/powerpc/include/asm/lppaca.h:47,
>                  from arch/powerpc/include/asm/paca.h:17,
>                  from arch/powerpc/include/asm/current.h:13,
>                  from include/linux/sched.h:12,
>                  from arch/powerpc/mm/mem.c:16:
> arch/powerpc/include/asm/book3s/64/pgtable-4k.h:74:19: note: previous definition of 'pmd_huge' was here
>    74 | static inline int pmd_huge(pmd_t pmd) { return 0; }
>       |                   ^~~~~~~~
> In file included from arch/powerpc/mm/mem.c:30:
> include/linux/hugetlb.h:238:19: error: redefinition of 'pud_huge'
>   238 | static inline int pud_huge(pud_t pud)
>       |                   ^~~~~~~~
> In file included from arch/powerpc/include/asm/book3s/64/pgtable.h:301,
>                  from arch/powerpc/include/asm/book3s/64/mmu-hash.h:20,
>                  from arch/powerpc/include/asm/book3s/64/mmu.h:46,
>                  from arch/powerpc/include/asm/mmu.h:356,
>                  from arch/powerpc/include/asm/lppaca.h:47,
>                  from arch/powerpc/include/asm/paca.h:17,
>                  from arch/powerpc/include/asm/current.h:13,
>                  from include/linux/sched.h:12,
>                  from arch/powerpc/mm/mem.c:16:
> arch/powerpc/include/asm/book3s/64/pgtable-4k.h:75:19: note: previous definition of 'pud_huge' was here
>    75 | static inline int pud_huge(pud_t pud) { return 0; }
>       |                   ^~~~~~~~
> 
> Caused by commit
> 
>   9823e12e021f ("hugetlbfs: convert macros to static inline, fix sparse warning")
> 
> I have reverted that commit for today.

Hello Michael,

When I started to look into this I noticed that you added commit aad71e3928be
("powerpc/mm: Fix build break with RADIX=y & HUGETLBFS=n") some time back.
It appears that all other architectures get the definition of pmd_huge and
pud_huge from <linux/hugetlb.h> in the !CONFIG_HUGETLB_PAGE case.  Previously,
this was not an issue as the #define pmd_huge/pud_huge did not conflict with
the static inline in the powerpc header files.  The conflicts above happened
when I converted the macros to also be static inlines.  Could you live with
a patch like the following to remove the stubs from powerpc header files and
fix your original build break by including  <linux/hugetlb.h>?  After the
below patch is applied, the above commit will not cause the build errors seen
in linux-next.

From 4b3ab017e639e4e583fff801e6d8e6727b7877e8 Mon Sep 17 00:00:00 2001
From: Mike Kravetz <mike.kravetz@oracle.com>
Date: Tue, 5 Nov 2019 15:12:15 -0800
Subject: [PATCH] powerpc/mm: remove pmd_huge/pud_huge stubs and include
 hugetlb.h

This removes the power specific stubs created by commit aad71e3928be
("powerpc/mm: Fix build break with RADIX=y & HUGETLBFS=n") used when
!CONFIG_HUGETLB_PAGE.  Instead, it addresses the build break by
getting the definitions from <linux/hugetlb.h>.

Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>
---
 arch/powerpc/include/asm/book3s/64/pgtable-4k.h  | 3 ---
 arch/powerpc/include/asm/book3s/64/pgtable-64k.h | 3 ---
 arch/powerpc/mm/book3s64/radix_pgtable.c         | 1 +
 3 files changed, 1 insertion(+), 6 deletions(-)

diff --git a/arch/powerpc/include/asm/book3s/64/pgtable-4k.h b/arch/powerpc/include/asm/book3s/64/pgtable-4k.h
index a069dfcac9a9..4e697bc2f4cd 100644
--- a/arch/powerpc/include/asm/book3s/64/pgtable-4k.h
+++ b/arch/powerpc/include/asm/book3s/64/pgtable-4k.h
@@ -70,9 +70,6 @@ static inline int get_hugepd_cache_index(int index)
 	/* should not reach */
 }
 
-#else /* !CONFIG_HUGETLB_PAGE */
-static inline int pmd_huge(pmd_t pmd) { return 0; }
-static inline int pud_huge(pud_t pud) { return 0; }
 #endif /* CONFIG_HUGETLB_PAGE */
 
 #endif /* __ASSEMBLY__ */
diff --git a/arch/powerpc/include/asm/book3s/64/pgtable-64k.h b/arch/powerpc/include/asm/book3s/64/pgtable-64k.h
index e3d4dd4ae2fa..34d1018896b3 100644
--- a/arch/powerpc/include/asm/book3s/64/pgtable-64k.h
+++ b/arch/powerpc/include/asm/book3s/64/pgtable-64k.h
@@ -59,9 +59,6 @@ static inline int get_hugepd_cache_index(int index)
 	BUG();
 }
 
-#else /* !CONFIG_HUGETLB_PAGE */
-static inline int pmd_huge(pmd_t pmd) { return 0; }
-static inline int pud_huge(pud_t pud) { return 0; }
 #endif /* CONFIG_HUGETLB_PAGE */
 
 static inline int remap_4k_pfn(struct vm_area_struct *vma, unsigned long addr,
diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c b/arch/powerpc/mm/book3s64/radix_pgtable.c
index 6ee17d09649c..974109bb85db 100644
--- a/arch/powerpc/mm/book3s64/radix_pgtable.c
+++ b/arch/powerpc/mm/book3s64/radix_pgtable.c
@@ -13,6 +13,7 @@
 #include <linux/memblock.h>
 #include <linux/of_fdt.h>
 #include <linux/mm.h>
+#include <linux/hugetlb.h>
 #include <linux/string_helpers.h>
 #include <linux/stop_machine.h>
 
-- 
2.23.0



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

* Re: linux-next: build failure after merge of the akpm-current tree
  2019-11-06  0:00 ` linux-next: build failure after merge of the akpm-current tree Mike Kravetz
@ 2019-11-11 10:24   ` Michael Ellerman
  2019-11-12  0:59     ` Michael Ellerman
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Ellerman @ 2019-11-11 10:24 UTC (permalink / raw)
  To: Mike Kravetz
  Cc: Andrew Morton, Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, linux-mm

Hi Mike,

Mike Kravetz <mike.kravetz@oracle.com> writes:
> On 11/5/19 2:19 AM, Stephen Rothwell wrote:
>> Hi all,
>> 
>> After merging the akpm-current tree, today's linux-next build (powerpc64
>> allnoconfig) failed like this:
>> 
>> In file included from arch/powerpc/mm/mem.c:30:
>> include/linux/hugetlb.h:233:19: error: redefinition of 'pmd_huge'
>>   233 | static inline int pmd_huge(pmd_t pmd)
>>       |                   ^~~~~~~~
>> In file included from arch/powerpc/include/asm/book3s/64/pgtable.h:301,
>>                  from arch/powerpc/include/asm/book3s/64/mmu-hash.h:20,
>>                  from arch/powerpc/include/asm/book3s/64/mmu.h:46,
>>                  from arch/powerpc/include/asm/mmu.h:356,
>>                  from arch/powerpc/include/asm/lppaca.h:47,
>>                  from arch/powerpc/include/asm/paca.h:17,
>>                  from arch/powerpc/include/asm/current.h:13,
>>                  from include/linux/sched.h:12,
>>                  from arch/powerpc/mm/mem.c:16:
>> arch/powerpc/include/asm/book3s/64/pgtable-4k.h:74:19: note: previous definition of 'pmd_huge' was here
>>    74 | static inline int pmd_huge(pmd_t pmd) { return 0; }
>>       |                   ^~~~~~~~
...
>
> Hello Michael,
>
> When I started to look into this I noticed that you added commit aad71e3928be
> ("powerpc/mm: Fix build break with RADIX=y & HUGETLBFS=n") some time back.
> It appears that all other architectures get the definition of pmd_huge and
> pud_huge from <linux/hugetlb.h> in the !CONFIG_HUGETLB_PAGE case.  Previously,
> this was not an issue as the #define pmd_huge/pud_huge did not conflict with
> the static inline in the powerpc header files.  The conflicts above happened
> when I converted the macros to also be static inlines.  Could you live with
> a patch like the following to remove the stubs from powerpc header files and
> fix your original build break by including  <linux/hugetlb.h>?  After the
> below patch is applied, the above commit will not cause the build errors seen
> in linux-next.

As long as the end result is the same, ie. we get an empty definition
that always returns false then yeah that's fine by me.

> From 4b3ab017e639e4e583fff801e6d8e6727b7877e8 Mon Sep 17 00:00:00 2001
> From: Mike Kravetz <mike.kravetz@oracle.com>
> Date: Tue, 5 Nov 2019 15:12:15 -0800
> Subject: [PATCH] powerpc/mm: remove pmd_huge/pud_huge stubs and include
>  hugetlb.h
>
> This removes the power specific stubs created by commit aad71e3928be
> ("powerpc/mm: Fix build break with RADIX=y & HUGETLBFS=n") used when
> !CONFIG_HUGETLB_PAGE.  Instead, it addresses the build break by
> getting the definitions from <linux/hugetlb.h>.
>
> Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>
> ---
>  arch/powerpc/include/asm/book3s/64/pgtable-4k.h  | 3 ---
>  arch/powerpc/include/asm/book3s/64/pgtable-64k.h | 3 ---
>  arch/powerpc/mm/book3s64/radix_pgtable.c         | 1 +
>  3 files changed, 1 insertion(+), 6 deletions(-)

The two pgtable headers are included eventually by our top-level
pgtable.h, and that is included by over 100 files. So I worry this is
going to break the build somewhere in some obscure configuration.

I'll push it through some test builds and see what happens.

cheers


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

* Re: linux-next: build failure after merge of the akpm-current tree
  2019-11-11 10:24   ` Michael Ellerman
@ 2019-11-12  0:59     ` Michael Ellerman
  2019-11-12 18:12       ` Mike Kravetz
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Ellerman @ 2019-11-12  0:59 UTC (permalink / raw)
  To: Mike Kravetz
  Cc: Andrew Morton, Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, linux-mm

Michael Ellerman <mpe@ellerman.id.au> writes:
>
> Mike Kravetz <mike.kravetz@oracle.com> writes:
>> On 11/5/19 2:19 AM, Stephen Rothwell wrote:
...
>> From 4b3ab017e639e4e583fff801e6d8e6727b7877e8 Mon Sep 17 00:00:00 2001
>> From: Mike Kravetz <mike.kravetz@oracle.com>
>> Date: Tue, 5 Nov 2019 15:12:15 -0800
>> Subject: [PATCH] powerpc/mm: remove pmd_huge/pud_huge stubs and include
>>  hugetlb.h
>>
>> This removes the power specific stubs created by commit aad71e3928be
>> ("powerpc/mm: Fix build break with RADIX=y & HUGETLBFS=n") used when
>> !CONFIG_HUGETLB_PAGE.  Instead, it addresses the build break by
>> getting the definitions from <linux/hugetlb.h>.
>>
>> Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>
>> ---
>>  arch/powerpc/include/asm/book3s/64/pgtable-4k.h  | 3 ---
>>  arch/powerpc/include/asm/book3s/64/pgtable-64k.h | 3 ---
>>  arch/powerpc/mm/book3s64/radix_pgtable.c         | 1 +
>>  3 files changed, 1 insertion(+), 6 deletions(-)
>
> The two pgtable headers are included eventually by our top-level
> pgtable.h, and that is included by over 100 files. So I worry this is
> going to break the build somewhere in some obscure configuration.
>
> I'll push it through some test builds and see what happens.

Seems OK, it didn't introduce any new build failures.

Acked-by: Michael Ellerman <mpe@ellerman.id.au>

cheers


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

* Re: linux-next: build failure after merge of the akpm-current tree
  2019-11-12  0:59     ` Michael Ellerman
@ 2019-11-12 18:12       ` Mike Kravetz
  0 siblings, 0 replies; 7+ messages in thread
From: Mike Kravetz @ 2019-11-12 18:12 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Andrew Morton, Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, linux-mm

On 11/11/19 4:59 PM, Michael Ellerman wrote:
> Michael Ellerman <mpe@ellerman.id.au> writes:
>>
>> Mike Kravetz <mike.kravetz@oracle.com> writes:
>>> On 11/5/19 2:19 AM, Stephen Rothwell wrote:
> ...
>>> From 4b3ab017e639e4e583fff801e6d8e6727b7877e8 Mon Sep 17 00:00:00 2001
>>> From: Mike Kravetz <mike.kravetz@oracle.com>
>>> Date: Tue, 5 Nov 2019 15:12:15 -0800
>>> Subject: [PATCH] powerpc/mm: remove pmd_huge/pud_huge stubs and include
>>>  hugetlb.h
>>>
>>> This removes the power specific stubs created by commit aad71e3928be
>>> ("powerpc/mm: Fix build break with RADIX=y & HUGETLBFS=n") used when
>>> !CONFIG_HUGETLB_PAGE.  Instead, it addresses the build break by
>>> getting the definitions from <linux/hugetlb.h>.
>>>
>>> Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>
>>> ---
>>>  arch/powerpc/include/asm/book3s/64/pgtable-4k.h  | 3 ---
>>>  arch/powerpc/include/asm/book3s/64/pgtable-64k.h | 3 ---
>>>  arch/powerpc/mm/book3s64/radix_pgtable.c         | 1 +
>>>  3 files changed, 1 insertion(+), 6 deletions(-)
>>
>> The two pgtable headers are included eventually by our top-level
>> pgtable.h, and that is included by over 100 files. So I worry this is
>> going to break the build somewhere in some obscure configuration.
>>
>> I'll push it through some test builds and see what happens.
> 
> Seems OK, it didn't introduce any new build failures.
> 
> Acked-by: Michael Ellerman <mpe@ellerman.id.au>
>

Thank you Michael!

I'll add it to the other patch as a 'proper series' so this can be a
requisite patch for the other.

-- 
Mike Kravetz


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

* Re: linux-next: build failure after merge of the akpm-current tree
       [not found] <20140613151652.69bb6961@canb.auug.org.au>
@ 2014-06-16 23:31 ` Andrew Morton
  0 siblings, 0 replies; 7+ messages in thread
From: Andrew Morton @ 2014-06-16 23:31 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linux-next, linux-kernel, Naoya Horiguchi, linux-mm

On Fri, 13 Jun 2014 15:16:52 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:

> At this point I got fed up and just dropped the akpm trees completely for today.
> 
> Was this stuff really meant for v3.16?

3.14 actually.  Then 3.15.  Now 3.16.

It's been quiet a burden and seems to have been hitting more problems
lately.  It's unclear than it does much for efficiency and while the
end result may be clearer to a newcomer, there's a cost to existing
developers in churning the code around.

So...  I think I'll drop this version of the patchset.  Naoya, please
grab all the patches as they fly past and ensure that nothing gets lost
in any future version, thanks.

I'll retain 

mm-hugetlbfs-fix-rmapping-for-anonymous-hugepages-with-page_pgoff.patch
mm-hugetlbfs-fix-rmapping-for-anonymous-hugepages-with-page_pgoff-v2.patch
mm-hugetlbfs-fix-rmapping-for-anonymous-hugepages-with-page_pgoff-v3.patch
mm-hugetlbfs-fix-rmapping-for-anonymous-hugepages-with-page_pgoff-v3-fix.patch

and shall drop

pagewalk-update-page-table-walker-core.patch
pagewalk-update-page-table-walker-core-fix-end-address-calculation-in-walk_page_range.patch
pagewalk-update-page-table-walker-core-fix-end-address-calculation-in-walk_page_range-fix.patch
pagewalk-update-page-table-walker-core-fix.patch
pagewalk-add-walk_page_vma.patch
smaps-redefine-callback-functions-for-page-table-walker.patch
clear_refs-redefine-callback-functions-for-page-table-walker.patch
pagemap-redefine-callback-functions-for-page-table-walker.patch
pagemap-redefine-callback-functions-for-page-table-walker-fix.patch
numa_maps-redefine-callback-functions-for-page-table-walker.patch
memcg-redefine-callback-functions-for-page-table-walker.patch
arch-powerpc-mm-subpage-protc-use-walk_page_vma-instead-of-walk_page_range.patch
pagewalk-remove-argument-hmask-from-hugetlb_entry.patch
pagewalk-remove-argument-hmask-from-hugetlb_entry-fix.patch
pagewalk-remove-argument-hmask-from-hugetlb_entry-fix-fix.patch
mempolicy-apply-page-table-walker-on-queue_pages_range.patch
mm-pagewalkc-move-pte-null-check.patch
mm-prom-pid-clear_refs-avoid-split_huge_page.patch
mm-pagewalk-remove-pgd_entry-and-pud_entry.patch
mm-pagewalk-replace-mm_walk-skip-with-more-general-mm_walk-control.patch
mm-pagewalk-replace-mm_walk-skip-with-more-general-mm_walk-control-fix.patch
madvise-cleanup-swapin_walk_pmd_entry.patch
madvise-cleanup-swapin_walk_pmd_entry-fix.patch
memcg-separate-mem_cgroup_move_charge_pte_range.patch
memcg-separate-mem_cgroup_move_charge_pte_range-checkpatch-fixes.patch
arch-powerpc-mm-subpage-protc-cleanup-subpage_walk_pmd_entry.patch
mm-pagewalk-move-pmd_trans_huge_lock-from-callbacks-to-common-code.patch
mm-pagewalk-move-pmd_trans_huge_lock-from-callbacks-to-common-code-checkpatch-fixes.patch
mincore-apply-page-table-walker-on-do_mincore.patch
mincore-apply-page-table-walker-on-do_mincore-fix.patch

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: linux-next: build failure after merge of the akpm-current tree
       [not found] ` <1402672324-io6h33kn@n-horiguchi@ah.jp.nec.com>
@ 2014-06-16  2:01   ` Stephen Rothwell
  0 siblings, 0 replies; 7+ messages in thread
From: Stephen Rothwell @ 2014-06-16  2:01 UTC (permalink / raw)
  To: Naoya Horiguchi; +Cc: Andrew Morton, linux-next, linux-kernel, linux-mm

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

Hi Naoya,

On Fri, 13 Jun 2014 11:12:06 -0400 Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> wrote:
>
> On Fri, Jun 13, 2014 at 03:05:50PM +1000, Stephen Rothwell wrote:
> > 
> > After merging the akpm-current tree, today's linux-next build (powerpc ppc64_defconfig)
> > failed like this:
> > 
> > fs/proc/task_mmu.c: In function 'smaps_pmd':
> > include/linux/compiler.h:363:38: error: call to '__compiletime_assert_505' declared with attribute error: BUILD_BUG failed
> >   _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> >                                       ^
> > include/linux/compiler.h:346:4: note: in definition of macro '__compiletime_assert'
> >     prefix ## suffix();    \
> >     ^
> > include/linux/compiler.h:363:2: note: in expansion of macro '_compiletime_assert'
> >   _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> >   ^
> > include/linux/bug.h:50:37: note: in expansion of macro 'compiletime_assert'
> >  #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> >                                      ^
> > include/linux/bug.h:84:21: note: in expansion of macro 'BUILD_BUG_ON_MSG'
> >  #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed")
> >                      ^
> > include/linux/huge_mm.h:167:27: note: in expansion of macro 'BUILD_BUG'
> >  #define HPAGE_PMD_SIZE ({ BUILD_BUG(); 0; })
> >                            ^
> > fs/proc/task_mmu.c:505:39: note: in expansion of macro 'HPAGE_PMD_SIZE'
> >   smaps_pte((pte_t *)pmd, addr, addr + HPAGE_PMD_SIZE, walk);
> >                                        ^
> > 
> > Caused by commit b0e08c526179 ("mm/pagewalk: move pmd_trans_huge_lock()
> > from callbacks to common code").
> > 
> > The reference to HPAGE_PMD_SIZE (which contains a BUILD_BUG() when
> > CONFIG_TRANSPARENT_HUGEPAGE is not defined) used to be protected by a
> > call to pmd_trans_huge_lock() (a static inline function that was
> > contact 0 when CONFIG_TRANSPARENT_HUGEPAGE is not defined) so gcc did
> > not see the reference and the BUG_ON.  That protection has been
> > removed ...
> > 
> > I have reverted that commit and commit 2dc554765dd1
> > ("mm-pagewalk-move-pmd_trans_huge_lock-from-callbacks-to-common-code-checkpatch-fixes")
> > that depend on it for today.
> 
> Sorry about that, this build failure happens because I moved the
> pmd_trans_huge_lock() into the common pagewalk code,
> clearly this makes mm_walk->pmd_entry handle only transparent hugepage,
> so the additional patch below explicitly declare it with #ifdef
> CONFIG_TRANSPARENT_HUGEPAGE.
> 
> I'll merge this in the next version of my series, but this will help
> linux-next for a quick solution.
> 
> Thanks,
> Naoya Horiguchi
> ---
> From da0850cd03baa3d50c8e353976b5b9edbfbd4413 Mon Sep 17 00:00:00 2001
> Date: Fri, 13 Jun 2014 10:33:26 -0400
> Subject: [PATCH] fix build error of v3.15-mmotm-2014-06-12-16-38
> 
> Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>

I added that to the akpm-current tree in linux-next today and the build
failures went away.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: linux-next: build failure after merge of the akpm-current tree
       [not found] <20140613150550.7b2e2c4c@canb.auug.org.au>
@ 2014-06-13 15:12 ` Naoya Horiguchi
       [not found] ` <1402672324-io6h33kn@n-horiguchi@ah.jp.nec.com>
  1 sibling, 0 replies; 7+ messages in thread
From: Naoya Horiguchi @ 2014-06-13 15:12 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Andrew Morton, linux-next, linux-kernel, linux-mm

# cced: linux-mm

Hi Stephen,

On Fri, Jun 13, 2014 at 03:05:50PM +1000, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm-current tree, today's linux-next build (powerpc ppc64_defconfig)
> failed like this:
> 
> fs/proc/task_mmu.c: In function 'smaps_pmd':
> include/linux/compiler.h:363:38: error: call to '__compiletime_assert_505' declared with attribute error: BUILD_BUG failed
>   _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
>                                       ^
> include/linux/compiler.h:346:4: note: in definition of macro '__compiletime_assert'
>     prefix ## suffix();    \
>     ^
> include/linux/compiler.h:363:2: note: in expansion of macro '_compiletime_assert'
>   _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
>   ^
> include/linux/bug.h:50:37: note: in expansion of macro 'compiletime_assert'
>  #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
>                                      ^
> include/linux/bug.h:84:21: note: in expansion of macro 'BUILD_BUG_ON_MSG'
>  #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed")
>                      ^
> include/linux/huge_mm.h:167:27: note: in expansion of macro 'BUILD_BUG'
>  #define HPAGE_PMD_SIZE ({ BUILD_BUG(); 0; })
>                            ^
> fs/proc/task_mmu.c:505:39: note: in expansion of macro 'HPAGE_PMD_SIZE'
>   smaps_pte((pte_t *)pmd, addr, addr + HPAGE_PMD_SIZE, walk);
>                                        ^
> 
> Caused by commit b0e08c526179 ("mm/pagewalk: move pmd_trans_huge_lock()
> from callbacks to common code").
> 
> The reference to HPAGE_PMD_SIZE (which contains a BUILD_BUG() when
> CONFIG_TRANSPARENT_HUGEPAGE is not defined) used to be protected by a
> call to pmd_trans_huge_lock() (a static inline function that was
> contact 0 when CONFIG_TRANSPARENT_HUGEPAGE is not defined) so gcc did
> not see the reference and the BUG_ON.  That protection has been
> removed ...
> 
> I have reverted that commit and commit 2dc554765dd1
> ("mm-pagewalk-move-pmd_trans_huge_lock-from-callbacks-to-common-code-checkpatch-fixes")
> that depend on it for today.

Sorry about that, this build failure happens because I moved the
pmd_trans_huge_lock() into the common pagewalk code,
clearly this makes mm_walk->pmd_entry handle only transparent hugepage,
so the additional patch below explicitly declare it with #ifdef
CONFIG_TRANSPARENT_HUGEPAGE.

I'll merge this in the next version of my series, but this will help
linux-next for a quick solution.

Thanks,
Naoya Horiguchi
---

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

end of thread, other threads:[~2019-11-12 18:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20191105211920.787df2ab@canb.auug.org.au>
2019-11-06  0:00 ` linux-next: build failure after merge of the akpm-current tree Mike Kravetz
2019-11-11 10:24   ` Michael Ellerman
2019-11-12  0:59     ` Michael Ellerman
2019-11-12 18:12       ` Mike Kravetz
     [not found] <20140613151652.69bb6961@canb.auug.org.au>
2014-06-16 23:31 ` Andrew Morton
     [not found] <20140613150550.7b2e2c4c@canb.auug.org.au>
2014-06-13 15:12 ` Naoya Horiguchi
     [not found] ` <1402672324-io6h33kn@n-horiguchi@ah.jp.nec.com>
2014-06-16  2:01   ` Stephen Rothwell

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).