Re: [PATCH v3 0/8] change sb_writers to use percpu_rw_semaphore
From: Oleg Nesterov
Date: Mon Aug 17 2015 - 07:38:19 EST
On 08/16, Arthur Marsh wrote:
>
> Would these patches address what I've seen in the last day or so using
> Linus' git head kernel and seeing problems like:
No, this series shouldn't make any difference.
> [ 0.000000] Linux version 4.2.0-rc6+ (root@victoria) (gcc version
> 5.2.1 20150808 (Debian 5.2.1-15) ) #11 SMP PREEMPT Sun Aug 16 07:27:00
> ACST 2015
> ...
> [ 6000.096107] INFO: task basename:7796 blocked for more than 120 seconds.
> [ 6000.096116] Not tainted 4.2.0-rc6+ #11
> [ 6000.096120] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> disables this message.
> [ 6000.096123] basename D e7b5b180 0 7796 6936 0x00000000
> [ 6000.096132] c0379a84 00000086 c11127a5 e7b5b180 e7b5b5ec 2e0a5fb9
> 00000557 f5f0b310
> [ 6000.096143] f330b180 e7b5b180 c037a000 f5f0b300 7fffffff c0379a90
> c155b740 00000000
> [ 6000.096154] c0379b04 c155fa1d 00000046 c11127a5 00000246 00000000
> c0379ab0 c10a569b
> [ 6000.096164] Call Trace:
> [ 6000.096174] [<c11127a5>] ? __delayacct_blkio_start+0x15/0x20
> [ 6000.096179] [<c155b740>] schedule+0x30/0x80
> [ 6000.096184] [<c155fa1d>] schedule_timeout+0x2cd/0x5c0
> [ 6000.096188] [<c11127a5>] ? __delayacct_blkio_start+0x15/0x20
> [ 6000.096193] [<c10a569b>] ? trace_hardirqs_on+0xb/0x10
> [ 6000.096198] [<c10d701c>] ? ktime_get+0xac/0x1a0
> [ 6000.096202] [<c11127a5>] ? __delayacct_blkio_start+0x15/0x20
> [ 6000.096206] [<c155ad99>] io_schedule_timeout+0x89/0xf0
> [ 6000.096209] [<c155beb0>] ? bit_wait+0x40/0x40
> [ 6000.096213] [<c155bed5>] bit_wait_io+0x25/0x50
> [ 6000.096216] [<c155bbc9>] __wait_on_bit+0x49/0x70
> [ 6000.096219] [<c155beb0>] ? bit_wait+0x40/0x40
> [ 6000.096223] [<c155bc4d>] out_of_line_wait_on_bit+0x5d/0x70
> [ 6000.096226] [<c155beb0>] ? bit_wait+0x40/0x40
> [ 6000.096230] [<c109b210>] ? autoremove_wake_function+0x40/0x40
> [ 6000.096236] [<c11ed5be>] bh_submit_read+0x7e/0x90
> [ 6000.096265] [<f8321354>] ext4_get_branch+0xa4/0x110 [ext4]
> [ 6000.096286] [<f8321f14>] ext4_ind_map_blocks+0xd4/0xe30 [ext4]
> [ 6000.096291] [<c10a6290>] ? __lock_acquire+0x910/0x16a0
> [ 6000.096295] [<c10a6290>] ? __lock_acquire+0x910/0x16a0
> [ 6000.096300] [<c155ed53>] ? down_read+0x33/0x50
> [ 6000.096315] [<f82ddc9d>] ext4_map_blocks+0x29d/0x4f0 [ext4]
> [ 6000.096319] [<c10a548b>] ? mark_held_locks+0x5b/0x90
> [ 6000.096323] [<c10a55ec>] ? trace_hardirqs_on_caller+0x12c/0x1d0
> [ 6000.096337] [<f82db052>] ? ext4_readpages+0x32/0x40 [ext4]
> [ 6000.096358] [<f832d37b>] ext4_mpage_readpages+0x30b/0x8c0 [ext4]
> [ 6000.096372] [<f82db052>] ? ext4_readpages+0x32/0x40 [ext4]
> [ 6000.096377] [<c1156930>] ? __alloc_pages_nodemask+0x9c0/0xa40
> [ 6000.096383] [<c107ed46>] ? preempt_count_sub+0x26/0x70
> [ 6000.096397] [<f82db052>] ext4_readpages+0x32/0x40 [ext4]
> [ 6000.096411] [<f82db020>] ? do_journal_get_write_access+0xb0/0xb0 [ext4]
> [ 6000.096416] [<c115c376>] __do_page_cache_readahead+0x2e6/0x370
> [ 6000.096420] [<c115c233>] ? __do_page_cache_readahead+0x1a3/0x370
> [ 6000.096426] [<c114fb85>] filemap_fault+0x505/0x570
> [ 6000.096430] [<c117bb6f>] ? __do_fault+0x2f/0x80
> [ 6000.096435] [<c117bb6f>] __do_fault+0x2f/0x80
> [ 6000.096439] [<c1560ca7>] ? _raw_spin_unlock+0x27/0x50
> [ 6000.096443] [<c117f412>] handle_mm_fault+0xb22/0x11d0
> [ 6000.096448] [<c104aa7a>] __do_page_fault+0x16a/0x500
> [ 6000.096452] [<c104ae10>] ? __do_page_fault+0x500/0x500
> [ 6000.096456] [<c104ae31>] do_page_fault+0x21/0x30
> [ 6000.096460] [<c156282b>] error_code+0x5f/0x64
> [ 6000.096464] [<c104ae10>] ? __do_page_fault+0x500/0x500
> [ 6000.096468] 2 locks held by basename/7796:
> [ 6000.096470] #0: (&mm->mmap_sem){++++++}, at: [<c104aa25>]
> __do_page_fault+0x115/0x500
> [ 6000.096479] #1: (&ei->i_data_sem){++++..}, at: [<f82ddd9b>]
> ext4_map_blocks+0x39b/0x4f0 [ext4]
> [ 6000.096500] INFO: task hddtemp:7797 blocked for more than 120 seconds.
> [ 6000.096503] Not tainted 4.2.0-rc6+ #11
> [ 6000.096505] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> disables this message.
> [ 6000.096508] hddtemp D e896d100 0 7797 5140 0x00000000
> [ 6000.096514] c02c3a84 00000086 e896d588 e896d100 e896d56c 00000001
> c02c3a84 f5f0b310
> [ 6000.096525] c176fb00 e896d100 c02c4000 f5f0b300 7fffffff c02c3a90
> c155b740 00000000
> [ 6000.096535] c02c3b04 c155fa1d 00000046 c11127a5 00000246 00000000
> c02c3ab0 c10a569b
> [ 6000.096546] Call Trace:
> [ 6000.096550] [<c155b740>] schedule+0x30/0x80
> [ 6000.096554] [<c155fa1d>] schedule_timeout+0x2cd/0x5c0
> [ 6000.096558] [<c11127a5>] ? __delayacct_blkio_start+0x15/0x20
> [ 6000.096562] [<c10a569b>] ? trace_hardirqs_on+0xb/0x10
> [ 6000.096566] [<c10d701c>] ? ktime_get+0xac/0x1a0
> [ 6000.096569] [<c11127a5>] ? __delayacct_blkio_start+0x15/0x20
> [ 6000.096574] [<c155ad99>] io_schedule_timeout+0x89/0xf0
> [ 6000.096577] [<c109ad07>] ? prepare_to_wait_exclusive+0x47/0x80
> [ 6000.096581] [<c155beb0>] ? bit_wait+0x40/0x40
> [ 6000.096584] [<c155bed5>] bit_wait_io+0x25/0x50
> [ 6000.096587] [<c155bd12>] __wait_on_bit_lock+0x32/0x80
> [ 6000.096591] [<c155bdbd>] out_of_line_wait_on_bit_lock+0x5d/0x70
> [ 6000.096595] [<c155beb0>] ? bit_wait+0x40/0x40
> [ 6000.096598] [<c109b210>] ? autoremove_wake_function+0x40/0x40
> [ 6000.096602] [<c11ea166>] bh_uptodate_or_lock+0x66/0x70
> [ 6000.096623] [<f8321349>] ext4_get_branch+0x99/0x110 [ext4]
> [ 6000.096643] [<f8321f14>] ext4_ind_map_blocks+0xd4/0xe30 [ext4]
> [ 6000.096647] [<c10a6290>] ? __lock_acquire+0x910/0x16a0
> [ 6000.096651] [<c10a6290>] ? __lock_acquire+0x910/0x16a0
> [ 6000.096656] [<c155ed53>] ? down_read+0x33/0x50
> [ 6000.096671] [<f82ddc9d>] ext4_map_blocks+0x29d/0x4f0 [ext4]
> [ 6000.096675] [<c10a548b>] ? mark_held_locks+0x5b/0x90
> [ 6000.096679] [<c10a55ec>] ? trace_hardirqs_on_caller+0x12c/0x1d0
> [ 6000.096693] [<f82db052>] ? ext4_readpages+0x32/0x40 [ext4]
> [ 6000.096713] [<f832d37b>] ext4_mpage_readpages+0x30b/0x8c0 [ext4]
> [ 6000.096727] [<f82db052>] ? ext4_readpages+0x32/0x40 [ext4]
> [ 6000.096732] [<c1156930>] ? __alloc_pages_nodemask+0x9c0/0xa40
> [ 6000.096747] [<f82db052>] ext4_readpages+0x32/0x40 [ext4]
> [ 6000.096761] [<f82db020>] ? do_journal_get_write_access+0xb0/0xb0 [ext4]
> [ 6000.096766] [<c115c376>] __do_page_cache_readahead+0x2e6/0x370
> [ 6000.096770] [<c115c233>] ? __do_page_cache_readahead+0x1a3/0x370
> [ 6000.096775] [<c114fb85>] filemap_fault+0x505/0x570
> [ 6000.096779] [<c117bb6f>] ? __do_fault+0x2f/0x80
> [ 6000.096783] [<c117bb6f>] __do_fault+0x2f/0x80
> [ 6000.096787] [<c1560ca7>] ? _raw_spin_unlock+0x27/0x50
> [ 6000.096791] [<c117f412>] handle_mm_fault+0xb22/0x11d0
> [ 6000.096796] [<c104aa7a>] __do_page_fault+0x16a/0x500
> [ 6000.096800] [<c104ae10>] ? __do_page_fault+0x500/0x500
> [ 6000.096803] [<c104ae31>] do_page_fault+0x21/0x30
> [ 6000.096807] [<c156282b>] error_code+0x5f/0x64
> [ 6000.096811] [<c104ae10>] ? __do_page_fault+0x500/0x500
> [ 6000.096815] 2 locks held by hddtemp/7797:
> [ 6000.096817] #0: (&mm->mmap_sem){++++++}, at: [<c104aa25>]
> __do_page_fault+0x115/0x500
> [ 6000.096825] #1: (&ei->i_data_sem){++++..}, at: [<f82ddd9b>]
> ext4_map_blocks+0x39b/0x4f0 [ext4]
>
>
--
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/