I've observed this hanging task now several times. Not sure when this started, 
but 2.6.32 is affected too, IIRC. I don't have a test pattern for this. Dovecot 
imap triggers this from time to time. I've enabled CONFIG_DETECT_HUNG_TASK now 
and got this two tasks which hang:

INFO: task imap:2958 blocked for more than 120 seconds.                         
                                                           
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.       
                                                           
imap          D 0000000000000000     0  2958   2653 0x00000000                  
                                                           
 ffff88008caf5a28 0000000000000046 0000000000000000 ffffffff810544cf            
                                                           
 ffff88008caf5998 0000000000000001 ffff88008caf5fd8 ffff88008caf9530            
                                                           
 000000000000de78 00000000001d2700 00000000001d2700 ffff88008caf9530            
                                                           
Call Trace:                                                                     
                                                           
 [<ffffffff810544cf>] ? trace_hardirqs_off+0xd/0xf                              
                                                           
 [<ffffffff8105613b>] ? trace_hardirqs_on_caller+0x10c/0x130                    
                                                           
 [<ffffffff81071262>] ? sync_page+0x0/0x48                                      
                                                           
 [<ffffffff8138b46a>] io_schedule+0x38/0x4d                                     
                                                           
 [<ffffffff810712a6>] sync_page+0x44/0x48                                       
                                                           
 [<ffffffff8138b99a>] __wait_on_bit_lock+0x41/0x8a                              
                                                           
 [<ffffffff8107124e>] __lock_page+0x61/0x68                                     
                                                           
 [<ffffffff810475a3>] ? wake_bit_function+0x0/0x2e                              
                                                           
 [<ffffffff810718c6>] filemap_fault+0xea/0x345                                  
                                                           
 [<ffffffff81084022>] __do_fault+0x50/0x3d3                                     
                                                           
 [<ffffffff81086077>] handle_mm_fault+0x32f/0x65d                               
                                                           
 [<ffffffff8102039d>] ? do_page_fault+0xf4/0x26f                                
                                                           
 [<ffffffff811cacb4>] ? __down_read_trylock+0x46/0x4e                           
                                                           
 [<ffffffff8104b0f3>] ? down_read_trylock+0x3f/0x49                             
                                                           
 [<ffffffff8102039d>] ? do_page_fault+0xf4/0x26f                                
                                                           
 [<ffffffff81020500>] do_page_fault+0x257/0x26f                                 
                                                           
 [<ffffffff8138e2ff>] page_fault+0x1f/0x30                                      
                                                           
 [<ffffffff81083a13>] ? might_fault+0x57/0xa7                                   
                                                           
 [<ffffffff811746e2>] ? btrfs_copy_from_user+0x4f/0x113                         
                                                           
 [<ffffffff81174771>] ? btrfs_copy_from_user+0xde/0x113                         
                                                           
 [<ffffffff81174cd0>] btrfs_file_write+0x439/0x6fe                              
                                                           
 [<ffffffff810a5c34>] vfs_write+0xad/0x14e                                      
                                                           
 [<ffffffff8105613b>] ? trace_hardirqs_on_caller+0x10c/0x130                    
                                                           
 [<ffffffff810a5d2a>] sys_pwrite64+0x55/0x74                                    
                                                           
 [<ffffffff81001eeb>] system_call_fastpath+0x16/0x1b                            
                                                           
2 locks held by imap/2958:                                                      
                                                           
 #0:  (&sb->s_type->i_mutex_key#4){+.+.+.}, at: [<ffffffff81174a00>] 
btrfs_file_write+0x169/0x6fe                                          
 #1:  (&mm->mmap_sem){++++++}, at: [<ffffffff8102039d>] 
do_page_fault+0xf4/0x26f                                                        
   
INFO: task flush-btrfs-2:2783 blocked for more than 120 seconds.                
                                                           
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.       
                                                           
flush-btrfs-2 D 0000000000000000     0  2783      2 0x00000000                  
                                                           
 ffff88010cdcf9d0 0000000000000046 0000000000000000 ffffffff810544cf            
                                                           
 ffff88010cdcf940 0000000000000000 ffff88010cdcffd8 ffff88010cd18290            
                                                           
 000000000000de78 00000000001d2700 00000000001d2700 ffff88010cd18290            
                                                           
Call Trace:                                                                     
                                                           
 [<ffffffff810544cf>] ? trace_hardirqs_off+0xd/0xf                              
                                                           
 [<ffffffff8105613b>] ? trace_hardirqs_on_caller+0x10c/0x130                    
                                                           
 [<ffffffff81071262>] ? sync_page+0x0/0x48                                      
                                                           
 [<ffffffff8138b46a>] io_schedule+0x38/0x4d                                     
                                                           
 [<ffffffff810712a6>] sync_page+0x44/0x48                                       
                                                           
 [<ffffffff8138b99a>] __wait_on_bit_lock+0x41/0x8a                              
                                                           
 [<ffffffff81070ce1>] ? find_get_pages_tag+0x0/0x130                            
                                                           
 [<ffffffff8107124e>] __lock_page+0x61/0x68                                     
                                                           
 [<ffffffff810475a3>] ? wake_bit_function+0x0/0x2e                              
                                                           
 [<ffffffff811871f6>] T.858+0xf1/0x2cd                                          
                                                           
 [<ffffffff8104c4f9>] ? sched_clock_cpu+0xc6/0xd4                               
                                                           
 [<ffffffff8104c3cd>] ? sched_clock_local+0x1c/0x82                             
                                                           
 [<ffffffff8104c4f9>] ? sched_clock_cpu+0xc6/0xd4                               
                                                           
 [<ffffffff810544cf>] ? trace_hardirqs_off+0xd/0xf                              
                                                           
 [<ffffffff811874d3>] extent_writepages+0x3f/0x54                               
                                                           
 [<ffffffff8116dbd5>] ? btrfs_get_extent+0x0/0x7ee                              
                                                           
 [<ffffffff8116da7e>] btrfs_writepages+0x22/0x24                                
                                                           
 [<ffffffff81077d12>] do_writepages+0x1f/0x28                                   
                                                           
 [<ffffffff810c0233>] writeback_single_inode+0xf1/0x2f0                         
                                                           
 [<ffffffff810c0f57>] writeback_inodes_wb+0x3a9/0x4b2                           
                                                           
 [<ffffffff810c118b>] wb_writeback+0x12b/0x1af                                  
                                                           
 [<ffffffff810c1436>] wb_do_writeback+0x17f/0x195                               
                                                           
 [<ffffffff810c1342>] ? wb_do_writeback+0x8b/0x195                              
                                                           
 [<ffffffff810c1477>] bdi_writeback_task+0x2b/0x84                              
                                                           
 [<ffffffff81082a45>] ? bdi_start_fn+0x0/0xcf                                   
                                                           
 [<ffffffff81082ab6>] bdi_start_fn+0x71/0xcf                                    
                                                           
 [<ffffffff81082a45>] ? bdi_start_fn+0x0/0xcf
 [<ffffffff81047197>] kthread+0x7a/0x82
 [<ffffffff81002c94>] kernel_thread_helper+0x4/0x10
 [<ffffffff8138e0fc>] ? restore_args+0x0/0x30
 [<ffffffff8104711d>] ? kthread+0x0/0x82
 [<ffffffff81002c90>] ? kernel_thread_helper+0x0/0x10
1 lock held by flush-btrfs-2/2783:
 #0:  (&type->s_umount_key#20){++++..}, at: [<ffffffff810c0e82>] 
writeback_inodes_wb+0x2d4/0x4b2

regards,
  Johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to