On Fri, 21 Feb 2014 13:32:53 +0100
Sebastian Andrzej Siewior <bige...@linutronix.de> wrote:

> Two cps in parallel managed to stall the the ext4 fs. It seems that
> journal code is either waiting for locks or sleeping waiting for
> something to happen. This seems similar to what Mike observed on ext3,
> here is his description:
> 
> |With an -rt kernel, and a heavy sync IO load, tasks can jam
> |up on journal locks without unplugging, which can lead to
> |terminal IO starvation.  Unplug and schedule when waiting
> |for space.
> 
> This is on v3.2-RT. This cp testcase triggers about once in four runs.
> It did not trigger once in 20 runs on v3.12-RT.
> This brings me to the question: could it been fixed in the meantime and
> we not need the jbd patches in latest -RT is there a better testcase?

I'm a little confused. Is this only needed for 3.12-rt? I see that you
did not mark it for stable.

-- Steve

> 
> Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
> ---
>  fs/jbd2/checkpoint.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c
> index 16a698b..c6443c3 100644
> --- a/fs/jbd2/checkpoint.c
> +++ b/fs/jbd2/checkpoint.c
> @@ -129,6 +129,8 @@ void __jbd2_log_wait_for_space(journal_t *journal)
>               if (journal->j_flags & JBD2_ABORT)
>                       return;
>               write_unlock(&journal->j_state_lock);
> +             if (current->plug)
> +                     io_schedule();
>               mutex_lock(&journal->j_checkpoint_mutex);
>  
>               /*

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

Reply via email to