[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1511448640.6505.30.camel@gmx.de>
Date: Thu, 23 Nov 2017 15:50:40 +0100
From: Mike Galbraith <efault@....de>
To: Sebastian Siewior <bigeasy@...utronix.de>
Cc: Mikulas Patocka <mpatocka@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...hat.com>,
Steven Rostedt <rostedt@...dmis.org>,
linux-rt-users@...r.kernel.org
Subject: Re: [PATCH PREEMPT RT] rt-mutex: fix deadlock in device mapper
On Thu, 2017-11-23 at 15:42 +0100, Sebastian Siewior wrote:
> On 2017-11-21 22:20:51 [+0100], Mike Galbraith wrote:
> > On Tue, 2017-11-21 at 14:56 -0500, Mikulas Patocka wrote:
> > >
> > > If we don't have any reason why it is needed to unplug block requests when
> > > a spinlock is taken - so let's not do this.
> >
> > That's perfectly fine. I guess I shouldn't have even mentioned having
> > encountered unplug at mutex being insufficient.
>
> While at it, I intend to drop
> fs-jbd2-pull-your-plug-when-waiting-for-space.patch from the -RT queue
> for v4.14 which does
>
> --- a/fs/jbd2/checkpoint.c
> +++ b/fs/jbd2/checkpoint.c
> @@ -116,6 +116,8 @@ void __jbd2_log_wait_for_space(journal_t
> nblocks = jbd2_space_needed(journal);
> while (jbd2_log_space_left(journal) < nblocks) {
> write_unlock(&journal->j_state_lock);
> + if (current->plug)
> + io_schedule();
> mutex_lock(&journal->j_checkpoint_mutex);
>
> /*
>
> and is/was probably a workaround for the missing schedule while blocking
> on mutex/rwsem.
Yeah, that's now code without a meaningful job.
-Mike
Powered by blists - more mailing lists