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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/