Re: [PATCH] Give kjournald a IOPRIO_CLASS_RT io priority

From: Dave Chinner
Date: Thu Oct 02 2008 - 19:36:03 EST


On Thu, Oct 02, 2008 at 05:32:04PM +0200, Bodo Eggert wrote:
> Jens Axboe <jens.axboe@xxxxxxxxxx> wrote:
> > On Thu, Oct 02 2008, Dave Chinner wrote:
> >> On Thu, Oct 02, 2008 at 09:55:11AM +0200, Jens Axboe wrote:
>
> >> > Good point. I think we should mark the IO as sync, and maintain the same
> >> > priority level. Any IO that ends up being waited on is sync by
> >> > definition, we just need to expand the coverage a bit.
> >>
> >> That's what XFS has always done - mark the journal I/O as sync.
> >> Still, once you load up the elevator, the sync I/O can still get
> >> delayed for hundreds of milliseconds before dispatch, which was
> >> why I started looking at boosting the priority of the log I/O.
> >> It proved to be much more effective at getting the log I/O
> >> dispatched than the existing "mark it sync" technique....
> >
> > Sure, just marking it as sync is not a magic bullet. It'll be in the
> > first priority for that class, but it'll share bandwidth with other
> > processes. So if you have lots of IO going on, it can take hundreds of
> > miliseconds before being dispatched.
>
> Sounds like you need a priority class besides sync and async.

There's BIO_META now as well, which I was testing at the same time
as RT priority. Marking all the metadata I/O as BIO_META did help,
but once again I never got to determining if that was a result of
the different tagging or the priority increase.

However, given that only CFQ understand BIO_META, I suspect that
changing the way XFS uses BIO_SYNC to be a combination of BIO_META
and BIO_SYNC would cause significant regressions on other
schedulers.....

Cheers,

Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx
--
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/