Re: [PATCH] Give kjournald a IOPRIO_CLASS_RT io priority

From: Dave Chinner
Date: Tue Oct 07 2008 - 18:22:35 EST


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

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/