Re: PATCH] fix potential latency issues in JBD's journal code

From: Arjan van de Ven
Date: Sun Jul 06 2008 - 01:31:03 EST


On Sun, 6 Jul 2008 00:15:02 -0400
Theodore Tso <tytso@xxxxxxx> wrote:

> On Fri, Jul 04, 2008 at 07:29:29PM -0700, Arjan van de Ven wrote:
> > @@ -165,7 +165,7 @@ static void journal_do_submit_data(struct
> > buffer_head **wbuf, int bufs) for (i = 0; i < bufs; i++) {
> > wbuf[i]->b_end_io = end_buffer_write_sync;
> > /* We use-up our safety reference in submit_bh() */
> > - submit_bh(WRITE, wbuf[i]);
> > + submit_bh(WRITE_SYNC, wbuf[i]);
> > }
> > }
>
> So I started looking at this patch more closely when trying to
> replicate it for ext4. Don't you want to only use WRITE_SYNC() only
> for the very last time in the loop? Otherwise you end up unplugging
> the queue after each bufferhead, which wouldn't be a good thing,
> right?

it's debatable. Because this submit-bh() will sometimes block... it
wouldn't get IO started for that case. I think this is where I'd like
Jens to say what he thinks the rules are; clearly the elevator needs to
treat all of these guys as sync, but maybe the plugging should be ..
flexible.


--
If you want to reach me at my work email, use arjan@xxxxxxxxxxxxxxx
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/