Messages in this thread |  | | | Date | Fri, 3 Oct 2008 09:34:26 +1000 | | From | Dave Chinner <> | | Subject | Re: [PATCH] Give kjournald a IOPRIO_CLASS_RT io priority |
| |
On Thu, Oct 02, 2008 at 05:32:04PM +0200, Bodo Eggert wrote: > Jens Axboe <jens.axboe@oracle.com> 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@fromorbit.com
|  |