Messages in this thread | | | Date | Thu, 13 Dec 2012 22:18:08 +0100 | From | Jens Axboe <> | Subject | Re: [PATCH 00/26] AIO performance improvements/cleanups, v2 |
| |
On Mon, Dec 03 2012, Kent Overstreet wrote: > Last posting: http://thread.gmane.org/gmane.linux.kernel.aio.general/3169 > > Changes since the last posting should all be noted in the individual > patch descriptions. > > * Zach pointed out the aio_read_evt() patch was calling functions that > could sleep in TASK_INTERRUPTIBLE state, that patch is rewritten. > * Ben pointed out some synchronize_rcu() usage was problematic, > converted it to call_rcu() > * The flush_dcache_page() patch is new > * Changed the "use cancellation list lazily" patch so as to remove > ki_flags from struct kiocb.
Kent, I ran a few tests, and the below patches still don't seem as fast as the approach I took. To keep it fair, I used your aio branch and applied by dio speedups too. As a sanity check, I ran with your branch alone as well. The quick results below - kaio is kent-aio, just your branch. kaio-dio is with the direct IO speedups too. jaio is my branch, which already has the dio changes too.
Devices Branch IOPS 1 kaio ~915K 1 kaio-dio ~930K 1 jaio ~1220K 6 kaio ~3050K 6 kaio-dio ~3080K 6 jaio 3500K
The box runs out of CPU driving power, which is why it doesn't scale linearly, otherwise I know that jaio at least does. It's basically completion limited for the 6 device test at the moment.
I'll run some profiling tomorrow morning and get you some better results. Just thought I'd share these at least.
-- Jens Axboe
| |