Messages in this thread | | | Date | Sat, 5 Jul 2008 22:30:21 -0700 | From | Arjan van de Ven <> | Subject | Re: PATCH] fix potential latency issues in JBD's journal code |
| |
On Sun, 6 Jul 2008 00:15:02 -0400 Theodore Tso <tytso@MIT.EDU> 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@linux.intel.com For development, discussion and tips for power savings, visit http://www.lesswatts.org
| |