On Wed, Jul 11, 2018 at 10:02 AM, Lu Fengqi <lufq.f...@cn.fujitsu.com> wrote: > Hi, > > When I run generic/041 with v4.18-rc3 (turn on kasan and hung task > detection), btrfs-transaction kthread will trigger the hung task timeout > (stall at wait_event in btrfs_commit_transaction). At the same time, you > can see that xfs_io -c fsync will occupy 100% of the CPU. I am not sure > whether this is a problem. Any suggestion?
Well, something at 100% cpu and that seems hang forever is definitely a problem, specially a workload as simple as the one in generic/041 (never happened to me, even on vanilla 4.18-rc4). Do you have the stack trace for the fsync task? What you pasted below is only for the transaction kthread and that alone doesn't help. > > [Wed Jul 11 15:50:08 2018] INFO: task btrfs-transacti:1053 blocked for more > than 120 seconds. > [Wed Jul 11 15:50:08 2018] Not tainted 4.18.0-rc3-custom #14 > [Wed Jul 11 15:50:08 2018] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" > disables this message. > [Wed Jul 11 15:50:08 2018] btrfs-transacti D 0 1053 2 0x80000000 > [Wed Jul 11 15:50:08 2018] Call Trace: > [Wed Jul 11 15:50:08 2018] ? __schedule+0x5b2/0x1380 > [Wed Jul 11 15:50:08 2018] ? check_flags.part.23+0x240/0x240 > [Wed Jul 11 15:50:08 2018] ? firmware_map_remove+0x187/0x187 > [Wed Jul 11 15:50:08 2018] ? ___preempt_schedule+0x16/0x18 > [Wed Jul 11 15:50:08 2018] ? mark_held_locks+0x6e/0x90 > [Wed Jul 11 15:50:08 2018] ? _raw_spin_unlock_irqrestore+0x59/0x70 > [Wed Jul 11 15:50:08 2018] ? preempt_count_sub+0x14/0xc0 > [Wed Jul 11 15:50:08 2018] ? _raw_spin_unlock_irqrestore+0x46/0x70 > [Wed Jul 11 15:50:08 2018] ? prepare_to_wait_event+0x191/0x410 > [Wed Jul 11 15:50:08 2018] ? prepare_to_wait_exclusive+0x210/0x210 > [Wed Jul 11 15:50:08 2018] ? print_usage_bug+0x3a0/0x3a0 > [Wed Jul 11 15:50:08 2018] ? do_raw_spin_unlock+0x10f/0x1e0 > [Wed Jul 11 15:50:08 2018] ? do_raw_spin_trylock+0x120/0x120 > [Wed Jul 11 15:50:08 2018] schedule+0xca/0x260 > [Wed Jul 11 15:50:08 2018] ? rcu_lockdep_current_cpu_online+0x12b/0x160 > [Wed Jul 11 15:50:08 2018] ? __schedule+0x1380/0x1380 > [Wed Jul 11 15:50:08 2018] ? ___might_sleep+0x126/0x370 > [Wed Jul 11 15:50:08 2018] ? init_wait_entry+0xc7/0x100 > [Wed Jul 11 15:50:08 2018] ? __wake_up_locked_key_bookmark+0x20/0x20 > [Wed Jul 11 15:50:08 2018] ? __btrfs_run_delayed_items+0x1e5/0x280 [btrfs] > [Wed Jul 11 15:50:08 2018] ? __might_sleep+0x31/0xd0 > [Wed Jul 11 15:50:08 2018] btrfs_commit_transaction+0x122a/0x1640 [btrfs] > [Wed Jul 11 15:50:08 2018] ? btrfs_apply_pending_changes+0x90/0x90 [btrfs] > [Wed Jul 11 15:50:08 2018] ? wait_woken+0x150/0x150 > [Wed Jul 11 15:50:08 2018] ? ret_from_fork+0x27/0x50 > [Wed Jul 11 15:50:08 2018] ? ret_from_fork+0x27/0x50 > [Wed Jul 11 15:50:08 2018] ? deref_stack_reg+0xe0/0xe0 > [Wed Jul 11 15:50:08 2018] ? __module_text_address+0x63/0xa0 > [Wed Jul 11 15:50:08 2018] ? preempt_count_sub+0x14/0xc0 > [Wed Jul 11 15:50:08 2018] ? transaction_kthread+0x161/0x240 [btrfs] > [Wed Jul 11 15:50:08 2018] ? is_module_text_address+0x2b/0x50 > [Wed Jul 11 15:50:08 2018] ? transaction_kthread+0x1d9/0x240 [btrfs] > [Wed Jul 11 15:50:08 2018] ? kernel_text_address+0x5a/0x100 > [Wed Jul 11 15:50:08 2018] ? deactivate_slab.isra.27+0x64f/0x7a0 > [Wed Jul 11 15:50:08 2018] ? __save_stack_trace+0x82/0x100 > [Wed Jul 11 15:50:08 2018] ? kasan_kmalloc+0x142/0x170 > [Wed Jul 11 15:50:08 2018] ? kmem_cache_alloc+0xfc/0x2e0 > [Wed Jul 11 15:50:08 2018] ? start_transaction+0x596/0x930 [btrfs] > [Wed Jul 11 15:50:08 2018] ? transaction_kthread+0x1d9/0x240 [btrfs] > [Wed Jul 11 15:50:08 2018] ? kthread+0x1b9/0x1e0 > [Wed Jul 11 15:50:08 2018] ? ret_from_fork+0x27/0x50 > [Wed Jul 11 15:50:08 2018] ? deactivate_slab.isra.27+0x64f/0x7a0 > [Wed Jul 11 15:50:08 2018] ? mark_lock+0x149/0xa80 > [Wed Jul 11 15:50:08 2018] ? init_object+0x6b/0x80 > [Wed Jul 11 15:50:08 2018] ? print_usage_bug+0x3a0/0x3a0 > [Wed Jul 11 15:50:08 2018] ? ___slab_alloc+0x62a/0x690 > [Wed Jul 11 15:50:08 2018] ? ___slab_alloc+0x62a/0x690 > [Wed Jul 11 15:50:08 2018] ? __lock_is_held+0x8c/0xe0 > [Wed Jul 11 15:50:08 2018] ? start_transaction+0x596/0x930 [btrfs] > [Wed Jul 11 15:50:08 2018] ? preempt_count_sub+0x14/0xc0 > [Wed Jul 11 15:50:08 2018] ? rcu_lockdep_current_cpu_online+0x12b/0x160 > [Wed Jul 11 15:50:08 2018] ? rcu_oom_callback+0x40/0x40 > [Wed Jul 11 15:50:08 2018] ? __lock_is_held+0x8c/0xe0 > [Wed Jul 11 15:50:08 2018] ? start_transaction+0x596/0x930 [btrfs] > [Wed Jul 11 15:50:08 2018] ? rcu_read_lock_sched_held+0x8f/0xa0 > [Wed Jul 11 15:50:08 2018] ? btrfs_record_root_in_trans+0x1f/0xa0 [btrfs] > [Wed Jul 11 15:50:08 2018] ? start_transaction+0x26b/0x930 [btrfs] > [Wed Jul 11 15:50:08 2018] ? btrfs_commit_transaction+0x1640/0x1640 [btrfs] > [Wed Jul 11 15:50:08 2018] ? check_flags.part.23+0x240/0x240 > [Wed Jul 11 15:50:08 2018] ? lock_downgrade+0x380/0x380 > [Wed Jul 11 15:50:08 2018] ? do_raw_spin_unlock+0x10f/0x1e0 > [Wed Jul 11 15:50:08 2018] ? do_raw_spin_unlock+0x10f/0x1e0 > [Wed Jul 11 15:50:08 2018] ? do_raw_spin_trylock+0x120/0x120 > [Wed Jul 11 15:50:08 2018] transaction_kthread+0x219/0x240 [btrfs] > [Wed Jul 11 15:50:08 2018] ? btrfs_cleanup_transaction+0x6f0/0x6f0 [btrfs] > [Wed Jul 11 15:50:08 2018] kthread+0x1b9/0x1e0 > [Wed Jul 11 15:50:08 2018] ? kthread_flush_work_fn+0x10/0x10 > [Wed Jul 11 15:50:08 2018] ret_from_fork+0x27/0x50 > [Wed Jul 11 15:50:08 2018] > Showing all locks held in the system: > [Wed Jul 11 15:50:08 2018] 1 lock held by khungtaskd/72: > [Wed Jul 11 15:50:08 2018] #0: 000000006461a1cc (rcu_read_lock){....}, at: > debug_show_all_locks+0xa9/0x3d0 > [Wed Jul 11 15:50:08 2018] 1 lock held by btrfs-transacti/1053: > [Wed Jul 11 15:50:08 2018] #0: 000000005d73d46a > (&fs_info->transaction_kthread_mutex){+.+.}, at: > transaction_kthread+0x92/0x240 [btrfs] > [Wed Jul 11 15:50:08 2018] 1 lock held by dmesg/1066: > [Wed Jul 11 15:50:08 2018] #0: 000000003e5d6fc4 (&user->lock){+.+.}, at: > devkmsg_read+0xa5/0x4f0 > [Wed Jul 11 15:50:08 2018] 4 locks held by xfs_io/7075: > > -- > Thanks, > Lu > > > -- > 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 -- Filipe David Manana, “Whether you think you can, or you think you can't — you're right.” -- 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