From: Dave Chinner <david@fromorbit.com>
To: linux-fsdevel@vger.kernel.org
Cc: willy@linux.intel.com, kirill.shutemov@linux.intel.com,
linux-kernel@vger.kernel.org
Subject: [4.3-rc1, regression] dax: hang on i_mmap_rwsem in generic/075
Date: Tue, 22 Sep 2015 13:05:55 +1000 [thread overview]
Message-ID: <20150922030555.GA3902@dastard> (raw)
Hi folks,
I'm seeing hangs like this when using DAX on XFS on 4.3-rc1 running
xfstests generic/075 (fsx test):
# echo w > /proc/sysrq-trigger
[71628.984872] sysrq: SysRq : Show Blocked State
[71628.985988] task PC stack pid father
[71628.987635] fsx D ffff88043fd756c0 12824 520 32636 0x00000000
[71628.989251] ffff88007f557ba8 0000000000000086 ffff88042eb40580 ffff8803c8bcc180
[71628.990645] ffff88007f558000 ffff88041d748e80 ffff88041d748e68 ffffffff00000000
[71628.992068] 00000000fffffffe ffff88007f557bc0 ffffffff81d855ca ffff8803c8bcc180
[71628.993639] Call Trace:
[71628.994097] [<ffffffff81d855ca>] schedule+0x3a/0x90
[71628.994997] [<ffffffff81d88021>] rwsem_down_write_failed+0x141/0x340
[71628.996197] [<ffffffff81792e13>] call_rwsem_down_write_failed+0x13/0x20
[71628.997548] [<ffffffff81d87854>] ? down_write+0x24/0x40
[71628.998502] [<ffffffff812110b6>] __dax_fault+0x546/0x6c0
[71628.999469] [<ffffffff814b2900>] ? xfs_get_blocks+0x20/0x20
[71629.000515] [<ffffffff814bd758>] xfs_filemap_fault+0xc8/0xf0
[71629.001668] [<ffffffff811a0abd>] __do_fault+0x3d/0x80
[71629.002589] [<ffffffff811a49da>] handle_mm_fault+0xb8a/0xfd0
[71629.003620] [<ffffffff81094e3f>] __do_page_fault+0x15f/0x420
[71629.004680] [<ffffffff810951c3>] trace_do_page_fault+0x43/0x110
[71629.005877] [<ffffffff8108fd0a>] do_async_page_fault+0x1a/0xa0
[71629.006936] [<ffffffff81d8b6c8>] async_page_fault+0x28/0x30
__dax_fault() gets stuck on this lock:
(gdb) l *(__dax_fault+0x546)
0xffffffff812110b6 is in __dax_fault (include/linux/fs.h:499).
494
495 int mapping_tagged(struct address_space *mapping, int tag);
496
497 static inline void i_mmap_lock_write(struct address_space *mapping)
498 {
499 down_write(&mapping->i_mmap_rwsem);
500 }
501
502 static inline void i_mmap_unlock_write(struct address_space *mapping)
503 {
This didn't happen on 4.2 + the XFS for-next code that was merged
into 4.3-rc1, so it's come from changes somewhere else in the merge.
I suspect either of these two commits:
46c043e mm: take i_mmap_lock in unmap_mapping_range() for DAX
8431729 dax: fix race between simultaneous faults
as they both modified the i_mmap_lock usage for DAX page faults.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next reply other threads:[~2015-09-22 3:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-22 3:05 Dave Chinner [this message]
2015-09-22 10:06 ` [4.3-rc1, regression] dax: hang on i_mmap_rwsem in generic/075 Kirill A. Shutemov
2015-09-22 19:56 ` Dave Chinner
2015-09-23 4:14 ` Ross Zwisler
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=20150922030555.GA3902@dastard \
--to=david@fromorbit.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=willy@linux.intel.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.