https://bugzilla.kernel.org/show_bug.cgi?id=51571 Jan Kara <jack@xxxxxxx> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jack@xxxxxxx --- Comment #1 from Jan Kara <jack@xxxxxxx> 2012-12-12 00:01:04 --- Thanks for detailed report! I presume you have a crash dump when you could provide such details? Can you have a look at what journal->j_running_transaction->t_handle_count is? I can see the transaction has been started some 14 ms ago. That's not too long but still plenty in terms of CPU time. What I think is happening is: Process A Process B start_this_handle(). if (journal->j_barrier_count) # false if (!journal->j_running_transaction) { #true read_unlock(&journal->j_state_lock); jbd2_journal_lock_updates() jbd2_journal_flush() write_lock(&journal->j_state_lock); if (journal->j_running_transaction) { #false ... wait for committing trans ... write_unlock(&journal->j_state_lock); ... write_lock(&journal->j_state_lock); jbd2_get_transaction(journal, new_transaction); # Sets j_running_transaction write_unlock(&journal->j_state_lock); goto repeat; # eventually blocks on j_barrier_count > 0 I will attach here a patch that should fix this... -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug. -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html