All of lore.kernel.org
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Mike Kravetz <mike.kravetz@oracle.com>,
	Mike Rapoport <rppt@kernel.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Linux MM <linux-mm@kvack.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: mm/pgtable: add stubs for {pmd/pub}_{set/clear}_huge
Date: Tue, 13 Jul 2021 16:39:25 +0200	[thread overview]
Message-ID: <CAMuHMdXShORDox-xxaeUfDW3wx2PeggFSqhVSHVZNKCGK-y_vQ@mail.gmail.com> (raw)
In-Reply-To: <git-mailbomb-linux-master-c742199a014de23ee92055c2473d91fe5561ffdf@kernel.org>

Hi Christophe,

On Fri, Jul 2, 2021 at 10:16 PM Linux Kernel Mailing List
<linux-kernel@vger.kernel.org> wrote:
> Commit:     c742199a014de23ee92055c2473d91fe5561ffdf
> Parent:     79c1c594f49a88fba9744cb5c85978c6b1b365ec
> Refname:    refs/heads/master
> Web:        https://git.kernel.org/torvalds/c/c742199a014de23ee92055c2473d91fe5561ffdf
> Author:     Christophe Leroy <christophe.leroy@csgroup.eu>
> AuthorDate: Wed Jun 30 18:48:03 2021 -0700
> Committer:  Linus Torvalds <torvalds@linux-foundation.org>
> CommitDate: Wed Jun 30 20:47:26 2021 -0700
>
>     mm/pgtable: add stubs for {pmd/pub}_{set/clear}_huge
>
>     For architectures with no PMD and/or no PUD, add stubs similar to what we
>     have for architectures without P4D.
>
>     [christophe.leroy@csgroup.eu: arm64: define only {pud/pmd}_{set/clear}_huge when useful]
>       Link: https://lkml.kernel.org/r/73ec95f40cafbbb69bdfb43a7f53876fd845b0ce.1620990479.git.christophe.leroy@csgroup.eu
>     [christophe.leroy@csgroup.eu: x86: define only {pud/pmd}_{set/clear}_huge when useful]
>       Link: https://lkml.kernel.org/r/7fbf1b6bc3e15c07c24fa45278d57064f14c896b.1620930415.git.christophe.leroy@csgroup.eu
>
>     Link: https://lkml.kernel.org/r/5ac5976419350e8e048d463a64cae449eb3ba4b0.1620795204.git.christophe.leroy@csgroup.eu
>     Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
>     Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>     Cc: Michael Ellerman <mpe@ellerman.id.au>
>     Cc: Mike Kravetz <mike.kravetz@oracle.com>
>     Cc: Mike Rapoport <rppt@kernel.org>
>     Cc: Nicholas Piggin <npiggin@gmail.com>
>     Cc: Paul Mackerras <paulus@samba.org>
>     Cc: Uladzislau Rezki <uladzislau.rezki@sony.com>
>     Cc: Naresh Kamboju <naresh.kamboju@linaro.org>
>     Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
>     Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Since this commit, both WARN_ON() tests in pud_huge_tests() are
triggering on arm64 if CONFIG_ARM64_VA_BITS_39=y and
CONFIG_PGTABLE_LEVELS=3:

    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 1 at mm/debug_vm_pgtable.c:438
debug_vm_pgtable+0x6d0/0x7c4
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper/0 Not tainted
5.13.0-salvator-x-00209-gc742199a014d #1068
    Hardware name: Renesas Salvator-X 2nd version board based on r8a77951 (DT)
    pstate: a0400005 (NzCv daif +PAN -UAO -TCO BTYPE=--)
    pc : debug_vm_pgtable+0x6d0/0x7c4
    lr : debug_vm_pgtable+0x6cc/0x7c4
    sp : ffffffc0124cbd00
    x29: ffffffc0124cbd00 x28: 0000000000000c30 x27: ffffff84c5e465a0
    x26: ffffff84c5e46000 x25: ffffff84c5e42000 x24: 00000000000005a0
    x23: ffffffc010c41000 x22: 0020000050cb0fc3 x21: ffffff84c5e45ed0
    x20: ffffff84c27470a8 x19: ffffff84c2747040 x18: 0000000000000cc0
    x17: 00000000b2491cf5 x16: 0000000000000014 x15: 0000000000000000
    x14: 0000000000000002 x13: 00000000000b56dd x12: 0000000000000901
    x11: ffffffc01116d040 x10: 00000000000038e4 x9 : 00000000ffffffff
    x8 : 0000000000000000 x7 : ffffffc010cc4cd0 x6 : 0000000000000000
    x5 : 000000000004028e x4 : 0000000000000000 x3 : 0000000000000000
    x2 : 0000000000000001 x1 : 0000000000000000 x0 : ffffff84c08bc040
    Call trace:
     debug_vm_pgtable+0x6d0/0x7c4
     do_one_initcall+0xec/0x278
     kernel_init_freeable+0x220/0x224
     kernel_init+0x10/0x108
     ret_from_fork+0x10/0x18
    irq event stamp: 1062694
    hardirqs last  enabled at (1062693): [<ffffffc0101bb030>]
free_unref_page+0x120/0x138
    hardirqs last disabled at (1062694): [<ffffffc01085f31c>] el1_dbg+0x24/0x4c
    softirqs last  enabled at (1062636): [<ffffffc0100101c8>] _stext+0x1c8/0x43c
    softirqs last disabled at (1062627): [<ffffffc010080020>]
__irq_exit_rcu+0xdc/0x124
    ---[ end trace 864024bcea12ea00 ]---
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 1 at mm/debug_vm_pgtable.c:439
debug_vm_pgtable+0x6d4/0x7c4
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W
5.13.0-salvator-x-00209-gc742199a014d #1068
    Hardware name: Renesas Salvator-X 2nd version board based on r8a77951 (DT)
    pstate: a0400005 (NzCv daif +PAN -UAO -TCO BTYPE=--)
    pc : debug_vm_pgtable+0x6d4/0x7c4
    lr : debug_vm_pgtable+0x6cc/0x7c4
    sp : ffffffc0124cbd00
    x29: ffffffc0124cbd00 x28: 0000000000000c30 x27: ffffff84c5e465a0
    x26: ffffff84c5e46000 x25: ffffff84c5e42000 x24: 00000000000005a0
    x23: ffffffc010c41000 x22: 0020000050cb0fc3 x21: ffffff84c5e45ed0
    x20: ffffff84c27470a8 x19: ffffff84c2747040 x18: 0000000000000cc0
    x17: 00000000b2491cf5 x16: 0000000000000014 x15: 0000000000000000
    x14: 0000000000000002 x13: 00000000000b56dd x12: 0000000000000901
    x11: ffffffc01116d040 x10: 00000000000038e4 x9 : 00000000ffffffff
    x8 : 0000000000000000 x7 : ffffffc010cc4cd0 x6 : 0000000000000000
    x5 : 000000000004028e x4 : 0000000000000000 x3 : 0000000000000000
    x2 : 0000000000000001 x1 : 0000000000000000 x0 : ffffff84c08bc040
    Call trace:
     debug_vm_pgtable+0x6d4/0x7c4
     do_one_initcall+0xec/0x278
     kernel_init_freeable+0x220/0x224
     kernel_init+0x10/0x108
     ret_from_fork+0x10/0x18
    irq event stamp: 1062706
    hardirqs last  enabled at (1062705): [<ffffffc01085ef80>]
exit_to_kernel_mode+0xf0/0x100
    hardirqs last disabled at (1062706): [<ffffffc01085f31c>] el1_dbg+0x24/0x4c
    softirqs last  enabled at (1062704): [<ffffffc0100101c8>] _stext+0x1c8/0x43c
    softirqs last disabled at (1062697): [<ffffffc010080020>]
__irq_exit_rcu+0xdc/0x124
    ---[ end trace 864024bcea12ea01 ]---

Switching to CONFIG_ARM64_VA_BITS_48=y and CONFIG_PGTABLE_LEVELS=4
makes the warning disappear.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

WARNING: multiple messages have this Message-ID (diff)
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	 Mike Kravetz <mike.kravetz@oracle.com>,
	Mike Rapoport <rppt@kernel.org>,
	 Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Linux MM <linux-mm@kvack.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: mm/pgtable: add stubs for {pmd/pub}_{set/clear}_huge
Date: Tue, 13 Jul 2021 16:39:25 +0200	[thread overview]
Message-ID: <CAMuHMdXShORDox-xxaeUfDW3wx2PeggFSqhVSHVZNKCGK-y_vQ@mail.gmail.com> (raw)
In-Reply-To: <git-mailbomb-linux-master-c742199a014de23ee92055c2473d91fe5561ffdf@kernel.org>

Hi Christophe,

On Fri, Jul 2, 2021 at 10:16 PM Linux Kernel Mailing List
<linux-kernel@vger.kernel.org> wrote:
> Commit:     c742199a014de23ee92055c2473d91fe5561ffdf
> Parent:     79c1c594f49a88fba9744cb5c85978c6b1b365ec
> Refname:    refs/heads/master
> Web:        https://git.kernel.org/torvalds/c/c742199a014de23ee92055c2473d91fe5561ffdf
> Author:     Christophe Leroy <christophe.leroy@csgroup.eu>
> AuthorDate: Wed Jun 30 18:48:03 2021 -0700
> Committer:  Linus Torvalds <torvalds@linux-foundation.org>
> CommitDate: Wed Jun 30 20:47:26 2021 -0700
>
>     mm/pgtable: add stubs for {pmd/pub}_{set/clear}_huge
>
>     For architectures with no PMD and/or no PUD, add stubs similar to what we
>     have for architectures without P4D.
>
>     [christophe.leroy@csgroup.eu: arm64: define only {pud/pmd}_{set/clear}_huge when useful]
>       Link: https://lkml.kernel.org/r/73ec95f40cafbbb69bdfb43a7f53876fd845b0ce.1620990479.git.christophe.leroy@csgroup.eu
>     [christophe.leroy@csgroup.eu: x86: define only {pud/pmd}_{set/clear}_huge when useful]
>       Link: https://lkml.kernel.org/r/7fbf1b6bc3e15c07c24fa45278d57064f14c896b.1620930415.git.christophe.leroy@csgroup.eu
>
>     Link: https://lkml.kernel.org/r/5ac5976419350e8e048d463a64cae449eb3ba4b0.1620795204.git.christophe.leroy@csgroup.eu
>     Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
>     Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>     Cc: Michael Ellerman <mpe@ellerman.id.au>
>     Cc: Mike Kravetz <mike.kravetz@oracle.com>
>     Cc: Mike Rapoport <rppt@kernel.org>
>     Cc: Nicholas Piggin <npiggin@gmail.com>
>     Cc: Paul Mackerras <paulus@samba.org>
>     Cc: Uladzislau Rezki <uladzislau.rezki@sony.com>
>     Cc: Naresh Kamboju <naresh.kamboju@linaro.org>
>     Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
>     Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Since this commit, both WARN_ON() tests in pud_huge_tests() are
triggering on arm64 if CONFIG_ARM64_VA_BITS_39=y and
CONFIG_PGTABLE_LEVELS=3:

    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 1 at mm/debug_vm_pgtable.c:438
debug_vm_pgtable+0x6d0/0x7c4
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper/0 Not tainted
5.13.0-salvator-x-00209-gc742199a014d #1068
    Hardware name: Renesas Salvator-X 2nd version board based on r8a77951 (DT)
    pstate: a0400005 (NzCv daif +PAN -UAO -TCO BTYPE=--)
    pc : debug_vm_pgtable+0x6d0/0x7c4
    lr : debug_vm_pgtable+0x6cc/0x7c4
    sp : ffffffc0124cbd00
    x29: ffffffc0124cbd00 x28: 0000000000000c30 x27: ffffff84c5e465a0
    x26: ffffff84c5e46000 x25: ffffff84c5e42000 x24: 00000000000005a0
    x23: ffffffc010c41000 x22: 0020000050cb0fc3 x21: ffffff84c5e45ed0
    x20: ffffff84c27470a8 x19: ffffff84c2747040 x18: 0000000000000cc0
    x17: 00000000b2491cf5 x16: 0000000000000014 x15: 0000000000000000
    x14: 0000000000000002 x13: 00000000000b56dd x12: 0000000000000901
    x11: ffffffc01116d040 x10: 00000000000038e4 x9 : 00000000ffffffff
    x8 : 0000000000000000 x7 : ffffffc010cc4cd0 x6 : 0000000000000000
    x5 : 000000000004028e x4 : 0000000000000000 x3 : 0000000000000000
    x2 : 0000000000000001 x1 : 0000000000000000 x0 : ffffff84c08bc040
    Call trace:
     debug_vm_pgtable+0x6d0/0x7c4
     do_one_initcall+0xec/0x278
     kernel_init_freeable+0x220/0x224
     kernel_init+0x10/0x108
     ret_from_fork+0x10/0x18
    irq event stamp: 1062694
    hardirqs last  enabled at (1062693): [<ffffffc0101bb030>]
free_unref_page+0x120/0x138
    hardirqs last disabled at (1062694): [<ffffffc01085f31c>] el1_dbg+0x24/0x4c
    softirqs last  enabled at (1062636): [<ffffffc0100101c8>] _stext+0x1c8/0x43c
    softirqs last disabled at (1062627): [<ffffffc010080020>]
__irq_exit_rcu+0xdc/0x124
    ---[ end trace 864024bcea12ea00 ]---
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 1 at mm/debug_vm_pgtable.c:439
debug_vm_pgtable+0x6d4/0x7c4
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W
5.13.0-salvator-x-00209-gc742199a014d #1068
    Hardware name: Renesas Salvator-X 2nd version board based on r8a77951 (DT)
    pstate: a0400005 (NzCv daif +PAN -UAO -TCO BTYPE=--)
    pc : debug_vm_pgtable+0x6d4/0x7c4
    lr : debug_vm_pgtable+0x6cc/0x7c4
    sp : ffffffc0124cbd00
    x29: ffffffc0124cbd00 x28: 0000000000000c30 x27: ffffff84c5e465a0
    x26: ffffff84c5e46000 x25: ffffff84c5e42000 x24: 00000000000005a0
    x23: ffffffc010c41000 x22: 0020000050cb0fc3 x21: ffffff84c5e45ed0
    x20: ffffff84c27470a8 x19: ffffff84c2747040 x18: 0000000000000cc0
    x17: 00000000b2491cf5 x16: 0000000000000014 x15: 0000000000000000
    x14: 0000000000000002 x13: 00000000000b56dd x12: 0000000000000901
    x11: ffffffc01116d040 x10: 00000000000038e4 x9 : 00000000ffffffff
    x8 : 0000000000000000 x7 : ffffffc010cc4cd0 x6 : 0000000000000000
    x5 : 000000000004028e x4 : 0000000000000000 x3 : 0000000000000000
    x2 : 0000000000000001 x1 : 0000000000000000 x0 : ffffff84c08bc040
    Call trace:
     debug_vm_pgtable+0x6d4/0x7c4
     do_one_initcall+0xec/0x278
     kernel_init_freeable+0x220/0x224
     kernel_init+0x10/0x108
     ret_from_fork+0x10/0x18
    irq event stamp: 1062706
    hardirqs last  enabled at (1062705): [<ffffffc01085ef80>]
exit_to_kernel_mode+0xf0/0x100
    hardirqs last disabled at (1062706): [<ffffffc01085f31c>] el1_dbg+0x24/0x4c
    softirqs last  enabled at (1062704): [<ffffffc0100101c8>] _stext+0x1c8/0x43c
    softirqs last disabled at (1062697): [<ffffffc010080020>]
__irq_exit_rcu+0xdc/0x124
    ---[ end trace 864024bcea12ea01 ]---

Switching to CONFIG_ARM64_VA_BITS_48=y and CONFIG_PGTABLE_LEVELS=4
makes the warning disappear.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

       reply	other threads:[~2021-07-13 14:39 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <git-mailbomb-linux-master-c742199a014de23ee92055c2473d91fe5561ffdf@kernel.org>
2021-07-13 14:39 ` Geert Uytterhoeven [this message]
2021-07-13 14:39   ` mm/pgtable: add stubs for {pmd/pub}_{set/clear}_huge Geert Uytterhoeven
2021-07-13 14:39   ` Geert Uytterhoeven
2021-07-14  6:52   ` Mike Rapoport
2021-07-14  6:52     ` Mike Rapoport
2021-07-19 16:15   ` Christophe Leroy
2021-07-19 16:15     ` Christophe Leroy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAMuHMdXShORDox-xxaeUfDW3wx2PeggFSqhVSHVZNKCGK-y_vQ@mail.gmail.com \
    --to=geert@linux-m68k.org \
    --cc=akpm@linux-foundation.org \
    --cc=christophe.leroy@csgroup.eu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mike.kravetz@oracle.com \
    --cc=npiggin@gmail.com \
    --cc=rppt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.