linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
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


  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 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 05/70] radix tree test suite: add lockdep_is_held to header 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 12/70] mm/mmap: use the maple tree in find_vma() instead of the rbtree 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 14/70] mm/mmap: use maple tree for unmapped_area{_topdown} Liam Howlett
2022-04-26 15:06 ` [PATCH v8 13/70] mm/mmap: use the maple tree for find_vma_prev() instead of the rbtree 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 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 18/70] mm: remove rb tree 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 19/70] mmap: change zeroing of maple tree in __vma_adjust() 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 22/70] mm/khugepaged: optimize collapse_pte_mapped_thp() by using vma_lookup() 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 26/70] mm: remove vmacache 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 30/70] mm/mmap: change do_brk_munmap() to use do_mas_align_munmap() 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 32/70] arm64: Change elfcore for_each_mte_vma() to use VMA iterator 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 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 36/70] x86: " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 37/70] xtensa: " 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 39/70] optee: " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 40/70] um: " 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 44/70] fs/proc/task_mmu: stop using linked list and highest_vm_end 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 46/70] ipc/shm: use VMA iterator instead of linked list Liam Howlett
2022-04-26 15:06 ` [PATCH v8 48/70] perf: use VMA iterator Liam Howlett
2022-04-26 15:06 ` [PATCH v8 47/70] acct: use VMA iterator instead of linked list 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 52/70] mm/gup: use maple tree navigation instead of 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 53/70] mm/khugepaged: stop using vma " Liam Howlett
2022-04-26 15:06 ` [PATCH v8 54/70] mm/ksm: use vma iterators instead of " 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 55/70] mm/madvise: use vma_find() 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 59/70] mm/mprotect: use maple tree navigation " 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 60/70] mm/mremap: use vma_find_intersection() " 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 63/70] mm/pagewalk: " 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 64/70] mm/swapfile: use vma iterator " 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 67/70] riscv: use vma iterator for vdso Liam Howlett
2022-04-26 15:06 ` [PATCH v8 66/70] nommu: remove uses of VMA linked list 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 68/70] mm: remove the vma " 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 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox