Re: [PATCH] Give kjournald a IOPRIO_CLASS_RT io priority

From: Jens Axboe
Date: Thu Oct 09 2008 - 04:48:53 EST


On Wed, Oct 08 2008, Dave Chinner wrote:
> On Tue, Oct 07, 2008 at 08:06:53PM +0200, Jens Axboe wrote:
> > On Mon, Oct 06 2008, Dave Chinner wrote:
> > > On Sat, Oct 04, 2008 at 05:45:00PM +1000, Aaron Carroll wrote:
> > > > Dave Chinner wrote:
> > > >> On Thu, Oct 02, 2008 at 05:32:04PM +0200, Bodo Eggert wrote:
> > > >>> 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.
> > > >
> > > > What exactly do you want META to mean? Strict prioritisation over
> > > > all other non-META requests, or just more frequent and/or larger
> > > > dispatches? Should META requests be sorted?
> > >
> > > The real question is "what was it supposed to mean"? AFAICT, it was
> > > added to a couple of filesystems to be used to tag superblock read
> > > I/O. Why - I don't know - there's a distinct lack of documentation
> > > surrounding these bio flags. :/
> >
> > It was added to be able to differentiate between data and meta data IO
> > when using blktrace, that is all.
>
> Ok.
>
> > > Realistically, I'm not sure that having a separate queue for
> > > BIO_META will buy us anything, given that noop is quite often the
> > > fastest scheduler for XFS because it enables interleaved metadata
> > > I/O to be merged with data I/O. Like I said, I was not able to spend
> > > the time to determine exactly how BIO_META affected I/O patterns, so
> > > I can't really comment on whether it is really necessary or not.
> >
> > There's no seperate queue for meta data IO anywhere. CFQ will give
> > _slight_ preference to meta data IO as a side effect, preferring the
> > meta IO for otherwise same IO in what to serve next in the same queue.
> > And it will not allow preemption of a meta data IO for a data IO.
> >
> > So using meta should not yield any important boosts by itself.
>
> Which means that performance increase I saw on CFQ was a result of
> removing the BIO_SYNC tagging "optimisation" XFS uses for metadata,
> not from adding BIO_META.....
>
> Could you please document what these tags actually mean and do
> so that other people don't get as confused as me about this
> stuff....

Sure, I've added such a patch for 2.6.28.

--
Jens Axboe

--
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/