Re: [PATCH] Give kjournald a IOPRIO_CLASS_RT io priority
From: Jens Axboe
Date: Tue Oct 07 2008 - 14:07:34 EST
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.
> 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.
--
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/