From: Guenter Roeck <linux@roeck-us.net>
To: Liam Howlett <liam.howlett@oracle.com>
Cc: "maple-tree@lists.infradead.org" <maple-tree@lists.infradead.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Yu Zhao <yuzhao@google.com>
Subject: Re: [PATCH v8 66/70] nommu: remove uses of VMA linked list
Date: Thu, 28 Apr 2022 09:05:11 -0700 [thread overview]
Message-ID: <20220428160511.GA2897430@roeck-us.net> (raw)
In-Reply-To: <20220426150616.3937571-67-Liam.Howlett@oracle.com>
On Tue, Apr 26, 2022 at 03:06:52PM +0000, Liam Howlett wrote:
> From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
>
> Use the maple tree or VMA iterator instead. This is faster and will allow
> us to shrink the VMA.
>
> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
> Acked-by: Vlastimil Babka <vbabka@suse.cz>
This patch crashes my xtensa nommu (kc705-nommu) boot test. Crash and bisect logs
attached. I can not revert the patch for cross checks because that results in a
compile failure.
Note that mps2-an385 boot tests also fail but I was not able to bisect.
Guenter
---
[ 19.394659] Unable to handle kernel paging request at virtual address 00000048
[ 19.394659] pc = 600d7039, ra = a00d7ed4
[ 19.394840] Oops: sig: 11 [#1] PREEMPT
[ 19.394930] CPU: 0 PID: 142 Comm: mount Not tainted 5.18.0-rc4-next-20220428 #1
[ 19.394980] a00: a00d7ed4 6253be00 6b6b6b6b ffffffff 00000001 6254ada0 00000000 6253be20
[ 19.395091] a08: a03b91a8 00000000 6b6b6b6b ffffff00 6b6b6b6b 6235c400 6253be40 6b6b6b6b
[ 19.395198] pc: 600d7039, ps: 00060710, depc: 0000001c, excvaddr: 00000048
[ 19.395225] lbeg: 6056536c, lend: 60565377 lcount: ffffffff, sar: 00000009
[ 19.395275] Stack:
[ 19.395320] 6b6b6b6b 6235c400 0000001f 6b6b6b6b a0009585 6253be40 6234e020 6235a2e0
[ 19.395349] 00000000 6254ada0 00000000 6253be20 a000e789 6253be80 6234e020 60731424
[ 19.395375] 6234e020 6b6b6b6c 6b6b6b6b 6235c40c 00000000 ffffffff 00000000 00000200
[ 19.395401] 60748f3c 6234e090 00000001 6253be50 a000eee0 6253bea0 6234e020 6254a8a0
[ 19.395426] 00000000 6234e020 6254a8a0 00000000 60005e8c 6253bf00 00000000 6270d6d4
[ 19.395452] 60005e8c 6253bef0 00000000 00000000 6254aca0 00000000 fffff000 00000000
[ 19.395478] 6254b3a0 619a0780 627aff95 627aff9a 60005c19 6253bf00 6253bf00 3fffffff
[ 19.395503] 6234e090 00000000 00000000 00000000 60005ba9 6253bf20 6253bf30 00000000
[ 19.395519] Call Trace:
[ 19.395577] Disabling lock debugging due to kernel taint
[ 19.395714] Fixing recursive fault but reboot is needed!
[ 19.395826] BUG: scheduling while atomic: mount/142/0x00000000
[ 19.395871] INFO: lockdep is turned off.
[ 19.395904] Modules linked in:
[ 19.396000] Preemption disabled at:
[ 19.396019] [<00000000>] 0x0
[ 19.396256] CPU: 0 PID: 142 Comm: mount Tainted: G D 5.18.0-rc4-next-20220428 #1
[ 19.396284] Stack:
[ 19.396311] 00000100 00000000 6253bbf0 6253bbd0 6074b97c 0000008e 6095915c a057531a
[ 19.396339] a00287ab 6253bc10 00000010 60734364 00000000 00000004 6253bbf0 6253bbd0
[ 19.396365] a0578975 6253bc30 00000000 00000000 00000000 00000000 60730cbc 6253bda4
[ 19.396392] a002b770 6253bc50 00000000 6254a8a0 40000000 00000000 00000000 6253bc30
[ 19.396418] a000eece 6253bca0 0000810c 00008000 00000000 00000000 00000001 60915040
[ 19.396444] 00000000 60915020 6253a000 60915040 a000eece 6253bca0 00000000 0000050c
[ 19.396471] 608011c0 608015c0 6253a000 6253bc50 a0007f39 6253bcc0 00000003 00000001
[ 19.396497] 0000008e 00060003 00000000 6253bca0 a0008675 6253bce0 00000000 0000ff00
[ 19.396509] Call Trace:
[ 19.396520] [<6057535d>] dump_stack+0x9/0x18
[ 19.396556] [<600287ab>] __schedule_bug+0x7f/0xc0
[ 19.396584] [<60578975>] __schedule+0x59/0x764
[ 19.396609] [<6002b770>] do_task_dead+0x4c/0x74
[ 19.396633] [<6000eece>] make_task_dead+0xaa/0xb0
[ 19.396657] [<60007f39>] die+0x9d/0xb4
[ 19.396681] [<60008675>] bad_page_fault+0x61/0xc4
[ 19.396705] [<60008875>] do_page_fault+0x19d/0x1ec
[ 19.396729] [<60005ba9>] common_exception+0x7f/0x7f
[ 19.396752] [<600d7ed4>] exit_mmap+0x44/0xa8
[ 19.396778] [<60009585>] mmput+0x55/0xec
[ 19.396802] [<6000e789>] do_exit+0x279/0x914
[ 19.396825] [<6000eee0>] sys_exit+0xc/0xc
[ 19.396849] [<60005e8c>] system_call+0x48/0x60
[ 19.396872] [<60005ba9>] common_exception+0x7f/0x7f
---
# bad: [bdc61aad77faf67187525028f1f355eff3849f22] Add linux-next specific files for 20220428
# good: [af2d861d4cd2a4da5137f795ee3509e6f944a25b] Linux 5.18-rc4
git bisect start 'HEAD' 'v5.18-rc4'
# good: [a6ffa4aa7e81a54632f3370f4c93fce603160192] Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
git bisect good a6ffa4aa7e81a54632f3370f4c93fce603160192
# good: [cd63f17e3bb63006f9f88bf7f5947b8e1601bcd9] Merge branch 'edac-for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras.git
git bisect good cd63f17e3bb63006f9f88bf7f5947b8e1601bcd9
# good: [cee7bbed3e5cc089b5c364ac8ad4a186c2a28bb6] Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git
git bisect good cee7bbed3e5cc089b5c364ac8ad4a186c2a28bb6
# good: [d5a23156ea99f10b584221893a6a7d6f6554cde8] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
git bisect good d5a23156ea99f10b584221893a6a7d6f6554cde8
# good: [2f1fde90d983bc404503100c9c4bbbf1e191bcf4] selftests: cgroup: fix alloc_anon_noexit() instantly freeing memory
git bisect good 2f1fde90d983bc404503100c9c4bbbf1e191bcf4
# good: [fca1db6ff251278c532231552e840c7dc36dfa76] Merge branch 'bitmap-for-next' of https://github.com/norov/linux.git
git bisect good fca1db6ff251278c532231552e840c7dc36dfa76
# good: [40b39116fe8e6fb66e3166ea40138eec506dfd91] perf: use VMA iterator
git bisect good 40b39116fe8e6fb66e3166ea40138eec506dfd91
# bad: [33ef257872566922df2b6bcfdb5330b2388aef53] Docs/{ABI,admin-guide}/damon: update for fixed virtual address ranges monitoring
git bisect bad 33ef257872566922df2b6bcfdb5330b2388aef53
# good: [2d8640f244c1ea6c40acde911d339dabc2ac765d] mm/oom_kill: use maple tree iterators instead of vma linked list
git bisect good 2d8640f244c1ea6c40acde911d339dabc2ac765d
# bad: [49d281fa016f2906346f1707e5059b6f7674a948] mm/mmap.c: pass in mapping to __vma_link_file()
git bisect bad 49d281fa016f2906346f1707e5059b6f7674a948
# bad: [487c2c6d922605aebe6f470e1a458eb1425548db] nommu: remove uses of VMA linked list
git bisect bad 487c2c6d922605aebe6f470e1a458eb1425548db
# good: [dc4a1ab575a32e454be953f7b1b0222dcd3d47fa] mm/swapfile: use vma iterator instead of vma linked list
git bisect good dc4a1ab575a32e454be953f7b1b0222dcd3d47fa
# good: [7fffbdd08665ddeeb38768309269fa5b32388c3d] i915: use the VMA iterator
git bisect good 7fffbdd08665ddeeb38768309269fa5b32388c3d
# first bad commit: [487c2c6d922605aebe6f470e1a458eb1425548db] nommu: remove uses of VMA linked list
next prev parent reply other threads:[~2022-04-28 16:05 UTC|newest]
Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-26 15:06 [PATCH v8 00/70] Introducing the Maple Tree Liam Howlett
2022-04-26 15:06 ` [PATCH v8 02/70] radix tree test suite: add kmem_cache_set_non_kernel() Liam Howlett
2022-04-26 15:06 ` [PATCH v8 01/70] radix tree test suite: add pr_err define Liam Howlett
2022-04-26 15:06 ` [PATCH v8 05/70] radix tree test suite: add lockdep_is_held to header Liam Howlett
2022-04-26 15:06 ` [PATCH v8 03/70] radix tree test suite: add allocation counts and size to kmem_cache Liam Howlett
2022-04-26 15:06 ` [PATCH v8 04/70] radix tree test suite: add support for slab bulk APIs Liam Howlett
2022-04-26 15:06 ` [PATCH v8 06/70] mips: rename mt_init to mips_mt_init Liam Howlett
2022-04-26 15:06 ` [PATCH v8 07/70] Maple Tree: add new data structure Liam Howlett
2022-04-27 15:45 ` Liam Howlett
2022-04-26 15:06 ` [PATCH v8 08/70] lib/test_maple_tree: add testing for maple tree Liam Howlett
2022-04-26 15:06 ` [PATCH v8 09/70] mm: start tracking VMAs with " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 10/70] mm: add VMA iterator Liam Howlett
2022-04-26 15:06 ` [PATCH v8 11/70] mmap: use the VMA iterator in count_vma_pages_range() Liam Howlett
2022-04-26 15:06 ` [PATCH v8 12/70] mm/mmap: use the maple tree in find_vma() instead of the rbtree Liam Howlett
2022-04-26 15:06 ` [PATCH v8 13/70] mm/mmap: use the maple tree for find_vma_prev() " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 14/70] mm/mmap: use maple tree for unmapped_area{_topdown} Liam Howlett
2022-04-26 15:06 ` [PATCH v8 15/70] kernel/fork: use maple tree for dup_mmap() during forking Liam Howlett
2022-04-26 15:06 ` [PATCH v8 17/70] proc: remove VMA rbtree use from nommu Liam Howlett
2022-04-26 15:06 ` [PATCH v8 16/70] damon: Convert __damon_va_three_regions to use the VMA iterator Liam Howlett
2022-05-03 23:40 ` SeongJae Park
2022-04-26 15:06 ` [PATCH v8 18/70] mm: remove rb tree Liam Howlett
2022-04-26 15:06 ` [PATCH v8 19/70] mmap: change zeroing of maple tree in __vma_adjust() Liam Howlett
2022-04-26 15:06 ` [PATCH v8 20/70] xen: use vma_lookup() in privcmd_ioctl_mmap() Liam Howlett
2022-04-26 15:06 ` [PATCH v8 21/70] mm: optimize find_exact_vma() to use vma_lookup() Liam Howlett
2022-04-26 15:06 ` [PATCH v8 22/70] mm/khugepaged: optimize collapse_pte_mapped_thp() by using vma_lookup() Liam Howlett
2022-04-26 15:06 ` [PATCH v8 23/70] mm/mmap: change do_brk_flags() to expand existing VMA and add do_brk_munmap() Liam Howlett
2022-04-28 16:09 ` Guenter Roeck
2022-04-28 16:35 ` Liam Howlett
2022-04-28 17:13 ` Guenter Roeck
2022-04-28 20:19 ` Guenter Roeck
2022-04-29 0:38 ` Liam Howlett
2022-04-29 1:16 ` Andrew Morton
2022-05-02 0:14 ` Liam Howlett
2022-05-02 0:24 ` Andrew Morton
2022-05-02 10:18 ` Heiko Carstens
2022-05-02 13:31 ` Liam Howlett
2022-05-02 18:50 ` Heiko Carstens
2022-05-03 19:48 ` Heiko Carstens
2022-05-03 21:55 ` Liam Howlett
2022-05-04 7:37 ` Janosch Frank
2022-05-04 18:31 ` David Hildenbrand
2022-05-04 18:47 ` Liam Howlett
2022-06-29 7:04 ` qemu-system-s390x hang in tcg (was: Re: [PATCH v8 23/70] mm/mmap: change do_brk_flags() to expand existing VMA and add do_brk_munmap()) Sven Schnelle
2022-06-29 8:10 ` Alex Bennée
2022-06-29 10:46 ` qemu-system-s390x hang in tcg Sven Schnelle
2022-06-29 12:18 ` Sven Schnelle
2022-06-29 14:52 ` Alex Bennée
2022-06-30 3:03 ` Richard Henderson
2022-05-02 7:08 ` [PATCH v8 23/70] mm/mmap: change do_brk_flags() to expand existing VMA and add do_brk_munmap() Juergen Gross
2022-04-26 15:06 ` [PATCH v8 26/70] mm: remove vmacache Liam Howlett
2022-04-26 15:06 ` [PATCH v8 24/70] mm: use maple tree operations for find_vma_intersection() Liam Howlett
2022-04-26 15:06 ` [PATCH v8 25/70] mm/mmap: use advanced maple tree API for mmap_region() Liam Howlett
2022-04-26 15:06 ` [PATCH v8 27/70] mm: convert vma_lookup() to use mtree_load() Liam Howlett
2022-04-26 15:06 ` [PATCH v8 28/70] mm/mmap: move mmap_region() below do_munmap() Liam Howlett
2022-04-26 15:06 ` [PATCH v8 29/70] mm/mmap: reorganize munmap to use maple states Liam Howlett
2022-04-26 15:06 ` [PATCH v8 31/70] arm64: remove mmap linked list from vdso Liam Howlett
2022-04-26 15:06 ` [PATCH v8 30/70] mm/mmap: change do_brk_munmap() to use do_mas_align_munmap() Liam Howlett
2022-04-26 15:06 ` [PATCH v8 34/70] powerpc: remove mmap linked list walks Liam Howlett
2022-04-26 15:06 ` [PATCH v8 32/70] arm64: Change elfcore for_each_mte_vma() to use VMA iterator Liam Howlett
2022-04-26 15:06 ` [PATCH v8 33/70] parisc: remove mmap linked list from cache handling Liam Howlett
2022-04-26 15:06 ` [PATCH v8 35/70] s390: remove vma linked list walks Liam Howlett
2022-04-26 15:06 ` [PATCH v8 38/70] cxl: remove vma linked list walk Liam Howlett
2022-04-26 15:06 ` [PATCH v8 37/70] xtensa: remove vma linked list walks Liam Howlett
2022-04-26 15:06 ` [PATCH v8 36/70] x86: " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 40/70] um: remove vma linked list walk Liam Howlett
2022-04-26 15:06 ` [PATCH v8 39/70] optee: " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 42/70] exec: use VMA iterator instead of linked list Liam Howlett
2022-04-26 15:06 ` [PATCH v8 43/70] fs/proc/base: use maple tree iterators in place " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 41/70] coredump: remove vma linked list walk Liam Howlett
2022-04-26 15:06 ` [PATCH v8 45/70] userfaultfd: use maple tree iterator to iterate VMAs Liam Howlett
2022-04-27 15:43 ` Liam Howlett
2022-04-26 15:06 ` [PATCH v8 44/70] fs/proc/task_mmu: stop using linked list and highest_vm_end Liam Howlett
2022-04-26 15:06 ` [PATCH v8 46/70] ipc/shm: use VMA iterator instead of linked list Liam Howlett
2022-04-26 15:06 ` [PATCH v8 47/70] acct: " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 48/70] perf: use VMA iterator Liam Howlett
2022-04-26 15:06 ` [PATCH v8 49/70] sched: use maple tree iterator to walk VMAs Liam Howlett
2022-04-26 15:06 ` [PATCH v8 50/70] fork: use VMA iterator Liam Howlett
2022-04-26 15:06 ` [PATCH v8 53/70] mm/khugepaged: stop using vma linked list Liam Howlett
2022-04-26 15:06 ` [PATCH v8 51/70] bpf: remove VMA " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 52/70] mm/gup: use maple tree navigation instead of " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 55/70] mm/madvise: use vma_find() instead of vma " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 56/70] mm/memcontrol: stop using mm->highest_vm_end Liam Howlett
2022-04-26 15:06 ` [PATCH v8 54/70] mm/ksm: use vma iterators instead of vma linked list Liam Howlett
2022-04-26 15:06 ` [PATCH v8 57/70] mm/mempolicy: use vma iterator & maple state " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 58/70] mm/mlock: use vma iterator and " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 59/70] mm/mprotect: use maple tree navigation " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 61/70] mm/msync: use vma_find() " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 60/70] mm/mremap: use vma_find_intersection() " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 64/70] mm/swapfile: use vma iterator " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 62/70] mm/oom_kill: use maple tree iterators " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 63/70] mm/pagewalk: use vma_find() " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 66/70] nommu: remove uses of VMA " Liam Howlett
2022-04-28 16:05 ` Guenter Roeck [this message]
2022-04-28 16:31 ` Guenter Roeck
2022-04-29 20:16 ` Liam Howlett
2022-04-26 15:06 ` [PATCH v8 67/70] riscv: use vma iterator for vdso Liam Howlett
2022-04-26 15:06 ` [PATCH v8 65/70] i915: use the VMA iterator Liam Howlett
2022-04-26 15:06 ` [PATCH v8 69/70] mm/mmap: drop range_has_overlap() function Liam Howlett
2022-04-26 15:06 ` [PATCH v8 68/70] mm: remove the vma linked list Liam Howlett
2022-04-26 15:06 ` [PATCH v8 70/70] mm/mmap.c: pass in mapping to __vma_link_file() Liam Howlett
2022-04-26 20:06 ` [PATCH v8 00/70] Introducing the Maple Tree Andrew Morton
2022-04-26 20:08 ` Andrew Morton
2022-04-26 20:23 ` Matthew Wilcox
2022-04-27 14:08 ` Liam Howlett
2022-04-27 17:33 ` Andrew Morton
2022-04-27 18:12 ` Matthew Wilcox
2022-05-01 20:26 ` Davidlohr Bueso
2022-05-01 23:56 ` Andrew Morton
2022-05-04 0:43 ` Liam Howlett
2022-04-28 2:28 ` Liam Howlett
2022-04-27 16:10 ` Qian Cai
2022-04-27 16:51 ` Liam Howlett
2022-04-27 20:21 ` Qian Cai
2022-04-27 22:41 ` Liam Howlett
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=20220428160511.GA2897430@roeck-us.net \
--to=linux@roeck-us.net \
--cc=akpm@linux-foundation.org \
--cc=liam.howlett@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=maple-tree@lists.infradead.org \
--cc=yuzhao@google.com \
/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.