From: Goldwyn Rodrigues <rgoldwyn@suse.com>
To: Matthew Wilcox <willy@infradead.org>,
linux-mm@kvack.org, linux-fsdevel@vger.kernel.org
Cc: Matthew Wilcox <mawilcox@microsoft.com>, Jan Kara <jack@suse.cz>,
Jeff Layton <jlayton@redhat.com>,
Lukas Czerner <lczerner@redhat.com>,
Ross Zwisler <ross.zwisler@linux.intel.com>,
Christoph Hellwig <hch@lst.de>,
Nicholas Piggin <npiggin@gmail.com>,
Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>,
linux-nilfs@vger.kernel.org, Jaegeuk Kim <jaegeuk@kernel.org>,
Chao Yu <yuchao0@huawei.com>,
linux-f2fs-devel@lists.sourceforge.net,
Oleg Drokin <oleg.drokin@intel.com>,
Andreas Dilger <andreas.dilger@intel.com>,
James Simmons <jsimmons@infradead.org>,
Mike Kravetz <mike.kravetz@oracle.com>
Subject: [PATCH v10 00/62] Convert page cache to XArray
Date: Mon, 9 Apr 2018 16:18:07 -0500 [thread overview]
Message-ID: <a27d5689-49d9-2802-3819-afd0f1f98483@suse.com> (raw)
In-Reply-To: <20180330034245.10462-1-willy@infradead.org>
Hi Matthew,
On 03/29/2018 10:41 PM, Matthew Wilcox wrote:
> From: Matthew Wilcox <mawilcox@microsoft.com>
>
> I'd like to thank Andrew for taking the first eight XArray patches
> into -next. He's understandably nervous about taking the rest of the
> patches into -next given how few of the remaining patches have review
> tags on them. So ... if you're on the cc, I'd really appreciate a review
> on something that you feel somewhat responsible for, eg the particular
> filesystem (nilfs, f2fs, lustre) that I've touched, or something in the
> mm/ or fs/ directories that you've worked on recently.
>
> This is against next-20180329.
I tried these patches against next-20180329 and added the patch for the
bug reported by Mike Kravetz. I am getting the following BUG on ext4 and
xfs, running generic/048 tests of fstests. Each trace is from a
different instance/run.
BTW, for my convenience, do you have these patches in a public git tree?
[ 222.007071] BUG: Bad page state in process kswapd0 pfn:132f25
[ 222.007108] page:ffffd6f144cbc940 count:0 mapcount:0
mapping:ffff94b2735e3918 index:0x1
[ 222.007140] flags: 0x4000000000000000()
[ 222.007157] raw: 4000000000000000 ffff94b2735e3918 0000000000000001
00000000ffffffff
[ 222.007186] raw: dead000000000100 dead000000000200 0000000000000000
0000000000000000
[ 222.007216] page dumped because: non-NULL mapping
[ 222.007288] CPU: 0 PID: 55 Comm: kswapd0 Tainted: G E
4.16.0-rc7-next-20180329-xarray #2
[ 222.007289] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
BIOS 1.0.0-prebuilt.qemu-project.org 04/01/2014
[ 222.007290] Call Trace:
[ 222.007297] dump_stack+0x63/0x85
[ 222.007300] bad_page+0xd5/0x140
[ 222.007302] free_pages_check_bad+0x5f/0x70
[ 222.007304] free_pcppages_bulk+0x423/0x5c0
[ 222.007308] ? xas_load+0x3d/0xc0
[ 222.007310] free_unref_page_commit+0xad/0xd0
[ 222.007312] free_unref_page_list+0x101/0x190
[ 222.007315] release_pages+0x17c/0x3f0
[ 222.007317] __pagevec_release+0x2f/0x40
[ 222.007319] invalidate_mapping_pages+0x2d8/0x310
[ 222.007323] ? memcg_drain_all_list_lrus+0x120/0x120
[ 222.007326] inode_lru_isolate+0x131/0x180
[ 222.007328] __list_lru_walk_one.isra.7+0x92/0x150
[ 222.007329] ? iput+0x220/0x220
[ 222.007331] list_lru_walk_one+0x23/0x30
[ 222.007332] prune_icache_sb+0x40/0x60
[ 222.007334] super_cache_scan+0x137/0x1b0
[ 222.007336] shrink_slab.part.53+0x1ae/0x3a0
[ 222.007338] shrink_slab+0x35/0x40
[ 222.007340] shrink_node+0x158/0x490
[ 222.007342] balance_pgdat+0x149/0x320
[ 222.007344] kswapd+0x15f/0x400
[ 222.007347] ? wait_woken+0x80/0x80
[ 222.007350] kthread+0x121/0x140
[ 222.007352] ? balance_pgdat+0x320/0x320
[ 222.007353] ? kthread_create_worker_on_cpu+0x50/0x50
[ 222.007356] ret_from_fork+0x35/0x40
[ 222.007357] Disabling lock debugging due to kernel taint
17252.906122] ------------[ cut here ]------------
[17252.906124] kernel BUG at fs/inode.c:512!
[17252.906150] invalid opcode: 0000 [#1] SMP PTI
[17252.906467] CPU: 2 PID: 31588 Comm: umount Tainted: G E
4.16.0-rc7-next-20180329-xarray #2
[17252.906492] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
BIOS 1.0.0-prebuilt.qemu-project.org 04/01/2014
[17252.906523] RIP: 0010:clear_inode+0x8a/0xa0
[17252.906536] RSP: 0018:ffffba2302213d28 EFLAGS: 00010086
[17252.906552] RAX: 0000000000000000 RBX: ffff8f1efb3976d8 RCX:
0000000000000000
[17252.906571] RDX: 0000000000000001 RSI: ffffffffffffffff RDI:
ffff8f1efb397858
[17252.906590] RBP: ffffba2302213d38 R08: 0000000000000000 R09:
0000000000000000
[17252.906609] R10: ffffba2302213ae8 R11: ffffba2302213ae8 R12:
ffff8f1efb397858
[17252.906628] R13: ffffffffc067e580 R14: ffff8f1dcc4281e8 R15:
ffff8f1ef9fddc68
[17252.906648] FS: 00007f6b9eae0fc0(0000) GS:ffff8f1effd00000(0000)
knlGS:0000000000000000
[17252.906670] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[17252.906686] CR2: 000055927e5f2118 CR3: 00000000ab29a000 CR4:
00000000000006e0
[17252.906708] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
0000000000000000
[17252.906728] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:
0000000000000400
[17252.906747] Call Trace:
[17252.906786] ext4_clear_inode+0x1a/0x80 [ext4]
[17252.906808] ext4_evict_inode+0x54/0x590 [ext4]
[17252.906823] evict+0xca/0x1a0
[17252.906833] dispose_list+0x39/0x50
[17252.906844] evict_inodes+0x158/0x170
[17252.906857] generic_shutdown_super+0x44/0x120
[17252.906871] kill_block_super+0x27/0x50
[17252.906883] deactivate_locked_super+0x48/0x80
[17252.906897] deactivate_super+0x40/0x60
[17252.906910] cleanup_mnt+0x3f/0x80
[17252.906921] __cleanup_mnt+0x12/0x20
[17252.906933] task_work_run+0x9d/0xc0
[17252.907593] exit_to_usermode_loop+0xa5/0xb0
[17252.908237] do_syscall_64+0x14a/0x1e0
[17252.908884] entry_SYSCALL_64_after_hwframe+0x3d/0xa2
[17252.909522] RIP: 0033:0x7f6b9e3b2a57
[17252.910154] RSP: 002b:00007ffff1d2e6f8 EFLAGS: 00000246 ORIG_RAX:
00000000000000a6
[17252.910810] RAX: 0000000000000000 RBX: 000055927e5e7970 RCX:
00007f6b9e3b2a57
[17252.911462] RDX: 0000000000000001 RSI: 0000000000000000 RDI:
000055927e5f08b0
[17252.912109] RBP: 0000000000000000 R08: 0000000000000004 R09:
00000000ffffffff
[17252.912765] R10: 000055927e5f08d0 R11: 0000000000000246 R12:
000055927e5f08b0
[17252.913420] R13: 00007f6b9e8cd1c4 R14: 000055927e5e7b50 R15:
0000000000000000
[17252.914053] Code: 74 2d a8 40 75 2b 48 8b 83 30 01 00 00 48 8d 93 30
01 00 00 48 39 c2 75 1a 48 c7 83 a0 00 00 00 60 00 00 00 5b 41 5c 5d c3
0f 0b <0f> 0b 0f 0b 0f 0b 0f 0b 0f 0b 66 90 66 2e 0f 1f 84 00 00 00 00
[17252.915348] RIP: clear_inode+0x8a/0xa0 RSP: ffffba2302213d28
[17252.915968] ---[ end trace eca08dd7383f4777 ]---
And with xfs:
[ 818.192680] ------------[ cut here ]------------
[ 818.192682] kernel BUG at fs/inode.c:512!
[ 818.192710] invalid opcode: 0000 [#1] SMP PTI
[ 818.193034] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
BIOS 1.0.0-prebuilt.qemu-project.org 04/01/2014
[ 818.193063] RIP: 0010:clear_inode+0x8a/0xa0
[ 818.193075] RSP: 0018:ffffa8ced21cbd70 EFLAGS: 00010086
[ 818.193090] RAX: 0000000000000000 RBX: ffff933521e294f8 RCX:
0000000000000000
[ 818.193108] RDX: 0000000000000001 RSI: ffffffffffffffff RDI:
ffff933521e29678
[ 818.193127] RBP: ffffa8ced21cbd80 R08: 0000000000000000 R09:
0000000000000000
[ 818.193145] R10: ffffa8ced21cbb18 R11: ffffa8ced21cbb18 R12:
ffff933521e29678
[ 818.193164] R13: ffffffffc0921920 R14: ffff9334afd1f8b8 R15:
ffff933523592c68
[ 818.193183] FS: 00007f3da7d1dfc0(0000) GS:ffff93353fd80000(0000)
knlGS:0000000000000000
[ 818.193203] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 818.193219] CR2: 00005577f6a42118 CR3: 00000000b52ae000 CR4:
00000000000006e0
[ 818.193241] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
0000000000000000
[ 818.193260] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:
0000000000000400
[ 818.193278] Call Trace:
[ 818.193290] evict+0x190/0x1a0
[ 818.193300] dispose_list+0x39/0x50
[ 818.193311] evict_inodes+0x158/0x170
[ 818.193324] generic_shutdown_super+0x44/0x120
[ 818.193337] kill_block_super+0x27/0x50
[ 818.193349] deactivate_locked_super+0x48/0x80
[ 818.193362] deactivate_super+0x40/0x60
[ 818.193374] cleanup_mnt+0x3f/0x80
[ 818.193385] __cleanup_mnt+0x12/0x20
[ 818.193397] task_work_run+0x9d/0xc0
[ 818.193410] exit_to_usermode_loop+0xa5/0xb0
[ 818.193423] do_syscall_64+0x14a/0x1e0
[ 818.193435] entry_SYSCALL_64_after_hwframe+0x3d/0xa2
[ 818.193450] RIP: 0033:0x7f3da75efa57
[ 818.194081] RSP: 002b:00007fff9bf60d08 EFLAGS: 00000246 ORIG_RAX:
00000000000000a6
[ 818.194724] RAX: 0000000000000000 RBX: 00005577f6a37970 RCX:
00007f3da75efa57
[ 818.195328] RDX: 0000000000000001 RSI: 0000000000000000 RDI:
00005577f6a40ff0
[ 818.195937] RBP: 0000000000000000 R08: 0000000000000003 R09:
00000000ffffffff
[ 818.196540] R10: 00005577f6a41010 R11: 0000000000000246 R12:
00005577f6a40ff0
[ 818.197150] R13: 00007f3da7b0a1c4 R14: 00005577f6a37b50 R15:
0000000000000000
[ 818.197761] Code: 74 2d a8 40 75 2b 48 8b 83 30 01 00 00 48 8d 93 30
01 00 00 48 39 c2 75 1a 48 c7 83 a0 00 00 00 60 00 00 00 5b 41 5c 5d c3
0f 0b <0f> 0b 0f 0b 0f 0b 0f 0b 0f 0b 66 90 66 2e 0f 1f 84 00 00 00 00
[ 818.198996] RIP: clear_inode+0x8a/0xa0 RSP: ffffa8ced21cbd70
[ 818.199556] ---[ end trace d7d41ef1791143ea ]---
[ 1976.784393] ------------[ cut here ]------------
--
Goldwyn
next prev parent reply other threads:[~2018-04-09 21:18 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-30 3:41 [PATCH v10 00/62] Convert page cache to XArray Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 01/62] page cache: Use xa_lock Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 02/62] xarray: Replace exceptional entries Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 03/62] xarray: Change definition of sibling entries Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 04/62] xarray: Add definition of struct xarray Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 05/62] xarray: Define struct xa_node Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 06/62] xarray: Add documentation Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 07/62] xarray: Add xa_load Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 08/62] xarray: Add xa_get_tag, xa_set_tag and xa_clear_tag Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 09/62] xarray: Add xa_store Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 10/62] xarray: Add xa_cmpxchg and xa_insert Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 11/62] xarray: Add xa_for_each Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 12/62] xarray: Add xa_extract Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 13/62] xarray: Add xa_destroy Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 14/62] xarray: Add xas_next and xas_prev Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 15/62] xarray: Add xas_create_range Matthew Wilcox
2018-03-30 3:41 ` [PATCH v10 16/62] xarray: Add MAINTAINERS entry Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 17/62] page cache: Rearrange address_space Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 18/62] page cache: Convert hole search to XArray Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 19/62] page cache: Add and replace pages using the XArray Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 20/62] page cache: Convert page deletion to XArray Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 21/62] page cache: Convert page cache lookups " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 22/62] page cache: Convert delete_batch " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 23/62] page cache: Remove stray radix comment Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 24/62] page cache: Convert filemap_range_has_page to XArray Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 25/62] mm: Convert page-writeback " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 26/62] mm: Convert workingset " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 27/62] mm: Convert truncate " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 28/62] mm: Convert add_to_swap_cache " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 29/62] mm: Convert delete_from_swap_cache " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 30/62] mm: Convert __do_page_cache_readahead " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 31/62] mm: Convert page migration " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 32/62] mm: Convert huge_memory " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 33/62] mm: Convert collapse_shmem " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 34/62] mm: Convert khugepaged_scan_shmem " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 35/62] pagevec: Use xa_tag_t Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 36/62] shmem: Convert replace to XArray Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 37/62] shmem: Convert shmem_confirm_swap " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 38/62] shmem: Convert find_swap_entry " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 39/62] shmem: Convert shmem_add_to_page_cache " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 40/62] shmem: Convert shmem_alloc_hugepage " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 41/62] shmem: Convert shmem_free_swap " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 42/62] shmem: Convert shmem_partial_swap_usage " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 43/62] memfd: Convert shmem_tag_pins " Matthew Wilcox
2018-03-31 0:05 ` Mike Kravetz
2018-03-31 2:11 ` Matthew Wilcox
2018-04-03 20:51 ` Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 44/62] memfd: Convert shmem_wait_for_pins " Matthew Wilcox
2018-03-31 0:07 ` Mike Kravetz
2018-03-30 3:42 ` [PATCH v10 45/62] shmem: Comment fixups Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 46/62] btrfs: Convert page cache to XArray Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 47/62] fs: Convert buffer " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 48/62] fs: Convert writeback " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 49/62] nilfs2: Convert " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 50/62] f2fs: " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 51/62] lustre: " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 52/62] dax: Fix use of zero page Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 53/62] dax: dax_insert_mapping_entry always succeeds Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 54/62] dax: Rename some functions Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 55/62] dax: Hash on XArray instead of mapping Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 56/62] dax: Convert dax_insert_pfn_mkwrite to XArray Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 57/62] dax: Convert dax_layout_busy_page " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 58/62] dax: Convert __dax_invalidate_entry " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 59/62] dax: Convert dax writeback " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 60/62] dax: Convert page fault handlers " Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 61/62] page cache: Finish XArray conversion Matthew Wilcox
2018-03-30 3:42 ` [PATCH v10 62/62] radix tree: Remove unused functions Matthew Wilcox
2018-04-04 16:35 ` [PATCH v10 00/62] Convert page cache to XArray Mike Kravetz
2018-04-05 3:52 ` Matthew Wilcox
2018-04-05 18:33 ` Mike Kravetz
2018-04-09 21:18 ` Goldwyn Rodrigues [this message]
2018-04-14 19:50 ` Matthew Wilcox
2018-04-14 19:58 ` Matthew Wilcox
2018-04-17 21:49 ` Goldwyn Rodrigues
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=a27d5689-49d9-2802-3819-afd0f1f98483@suse.com \
--to=rgoldwyn@suse.com \
--cc=andreas.dilger@intel.com \
--cc=hch@lst.de \
--cc=jack@suse.cz \
--cc=jaegeuk@kernel.org \
--cc=jlayton@redhat.com \
--cc=jsimmons@infradead.org \
--cc=konishi.ryusuke@lab.ntt.co.jp \
--cc=lczerner@redhat.com \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nilfs@vger.kernel.org \
--cc=mawilcox@microsoft.com \
--cc=mike.kravetz@oracle.com \
--cc=npiggin@gmail.com \
--cc=oleg.drokin@intel.com \
--cc=ross.zwisler@linux.intel.com \
--cc=willy@infradead.org \
--cc=yuchao0@huawei.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;
as well as URLs for NNTP newsgroup(s).