Re: __sb_start_write() && force_trylock hack

From: Oleg Nesterov
Date: Tue Aug 18 2015 - 11:20:42 EST


On 08/18, Oleg Nesterov wrote:
>
> When I tried to run all tests, I
> got the new reports from lockdep.

Just in case... when I run all tests I see misc failures (with or without
the changes above) which I didn't try to interpret. In particular xfs/073
just hangs, "shutdown -r" doesn't work, the serial console continues to
print

[10784.605139] XFS (loop2): metadata I/O error: block 0x7d4948 ("xfs_buf_iodone_callbacks") error 5 numblks 8
[10784.605207] loop: Write error at byte offset 26843578368, length 4096.
[10784.605222] loop: Write error at byte offset 26843578368, length 4096.
[10784.605235] loop: Write error at byte offset 26843578368, length 4096.
[10784.605248] loop: Write error at byte offset 26843578368, length 4096.
[10784.605261] loop: Write error at byte offset 26843578368, length 4096.
[10784.605437] blk_update_request: I/O error, dev loop2, sector 52428864
[10784.605642] blk_update_request: I/O error, dev loop2, sector 52429104
[10784.605897] blk_update_request: I/O error, dev loop2, sector 104960064
[10784.606028] blk_update_request: I/O error, dev loop2, sector 104960304
[10784.606069] blk_update_request: I/O error, dev loop2, sector 104960416
[10784.606307] blk_update_request: I/O error, dev loop2, sector 157286464
[10784.606414] blk_update_request: I/O error, dev loop2, sector 157286704
[10784.635455] XFS: Failing async write: 55598 callbacks suppressed
[10784.635458] XFS (loop2): Failing async write on buffer block 0x3200070. Retrying async write.
[10784.635460] XFS (loop2): Failing async write on buffer block 0x3200068. Retrying async write.
[10784.635463] XFS (loop2): Failing async write on buffer block 0x9600060. Retrying async write.
[10784.635465] XFS (loop2): Failing async write on buffer block 0x3200060. Retrying async write.
[10784.635468] XFS (loop2): Failing async write on buffer block 0x9600050. Retrying async write.
[10784.635469] XFS (loop2): Failing async write on buffer block 0x9600040. Retrying async write.
[10784.635470] XFS (loop2): Failing async write on buffer block 0x6419050. Retrying async write.
[10784.635472] XFS (loop2): Failing async write on buffer block 0x6419040. Retrying async write.
[10784.635473] XFS (loop2): Failing async write on buffer block 0x3200050. Retrying async write.
[10784.635474] XFS (loop2): Failing async write on buffer block 0x3200040. Retrying async write.
[10789.577360] lo_write_bvec: 18978 callbacks suppressed
[10789.583033] loop: Write error at byte offset 4203909120, length 4096.
[10789.590232] blk_update_request: 10746 callbacks suppressed
[10789.596370] blk_update_request: I/O error, dev loop2, sector 8210760
[10789.603498] loop: Write error at byte offset 4208594944, length 4096.
[10789.610704] blk_update_request: I/O error, dev loop2, sector 8219912
[10789.617830] XFS (loop2): metadata I/O error: block 0x7d4948 ("xfs_buf_iodone_callbacks") error 5 numblks 8

again and again.

Plus some tests need a lot of time (for example generic/127 more than 70 minutes!),
so I never managed to run this test-suite completely.



Also, tests/generic/078 on 4.2.0-rc6 (without other changes) triggered

[ 2100.404545] BUG: looking up invalid subclass: 8
[ 2100.409600] turning off the locking correctness validator.
[ 2100.415722] CPU: 11 PID: 45819 Comm: renameat2 Not tainted 4.2.0-rc6 #29
[ 2100.423190] Hardware name: Intel Corporation S2600CP/S2600CP, BIOS RMLSDP.86I.R3.27.D685.1305151734 05/15/2013
[ 2100.434349] 0000000000000000 000000002d12fba7 ffff880befce7a78 ffffffff817ee6f2
[ 2100.442641] 0000000000000000 0000000000000296 ffff880befce7b68 ffffffff810f2e94
[ 2100.450946] ffffffff826f95e0 ffff880c08834380 ffff880befce7ab8 ffffffff8102611f
[ 2100.459241] Call Trace:
[ 2100.461971] [<ffffffff817ee6f2>] dump_stack+0x45/0x57
[ 2100.467705] [<ffffffff810f2e94>] __lock_acquire+0xb14/0x2040
[ 2100.474107] [<ffffffff8102611f>] ? save_stack_trace+0x2f/0x50
[ 2100.480614] [<ffffffff810f2d6d>] ? __lock_acquire+0x9ed/0x2040
[ 2100.487221] [<ffffffff8110fa5d>] ? debug_lockdep_rcu_enabled+0x1d/0x20
[ 2100.494600] [<ffffffff810f508e>] lock_acquire+0xbe/0x150
[ 2100.500648] [<ffffffffa04edeee>] ? xfs_ilock+0x10e/0x160 [xfs]
[ 2100.507266] [<ffffffffa04ee941>] ? xfs_lock_inodes+0x131/0x1e0 [xfs]
[ 2100.514454] [<ffffffff810edbcc>] down_write_nested+0x3c/0x70
[ 2100.520875] [<ffffffffa04edeee>] ? xfs_ilock+0x10e/0x160 [xfs]
[ 2100.527496] [<ffffffffa04ff803>] ? xfs_log_reserve+0x173/0x1c0 [xfs]
[ 2100.534692] [<ffffffffa04edeee>] xfs_ilock+0x10e/0x160 [xfs]
[ 2100.541104] [<ffffffffa04ee941>] xfs_lock_inodes+0x131/0x1e0 [xfs]
[ 2100.548108] [<ffffffffa04f1c37>] xfs_rename+0x2d7/0x970 [xfs]
[ 2100.554615] [<ffffffff810f1de3>] ? mark_held_locks+0x73/0xb0
[ 2100.561026] [<ffffffff810f202d>] ? trace_hardirqs_on+0xd/0x10
[ 2100.567546] [<ffffffffa04ebc33>] xfs_vn_rename+0xb3/0xf0 [xfs]
[ 2100.574150] [<ffffffff81252512>] vfs_rename+0x552/0x880
[ 2100.580077] [<ffffffff81258467>] SyS_renameat2+0x537/0x590
[ 2100.586293] [<ffffffff817f70ae>] entry_SYSCALL_64_fastpath+0x12/0x76
[ 2101.268858] XFS (loop0): Unmounting Filesystem
[ 2101.615330] XFS (loop0): Mounting V4 Filesystem
[ 2101.660285] XFS (loop0): Ending clean mount
[ 2101.694933] run fstests generic/079 at 2015-08-18 08:31:55

perhaps this was fixed by Dave's ILOCK patches.

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/