[Ocfs2-tools-devel] [PATCH 07/11] libocfs2: Add aio read support

Sunil Mushran sunil.mushran at oracle.com
Fri Sep 23 13:24:51 PDT 2011


On 09/23/2011 12:52 PM, Goldwyn Rodrigues wrote:
> Okay, pass 0 might be a bit too early. I am not talking of a
> multi-threaded application either. For example, you can abstract it
> all in inode_scan itself. Keep two buffers instead of one. io_submit
> into first buffer while the second buffer is being
> consumed.io_getevents on the first and io_submit on second, once
> second is fully consumed. vice versa once first is consumed.
>
> You're keeping tracking information already. So, keeping additional io
> context data structures should not hurt as much.

Pass 1: Checking inodes and blocks
   I/O read disk/cache: 64698MB / 66MB, write: 0MB, rate: 35.60MB/s
   Times real: 1819.134s, user: 268.868s, sys: 25.884s
   Times syncread: 1548.872s, asyncread: 0.000s, syncwrite: 0.000s, asyncwrite: 0.000s

Pass 2: Checking directory entries
   I/O read disk/cache: 3902MB / 3938MB, write: 0MB, rate: 22.71MB/s
   Times real: 345.144s, user: 135.752s, sys: 13.291s
   Times syncread: 28.028s, asyncread: 30.299s, syncwrite: 0.000s, asyncwrite: 0.000s

Maybe I should rename io_aio_read_blocks() to io_readv_blocks().
And add io_read_submit_blocks() and io_read_reap_blocks(). And
use it in pass 1.






More information about the Ocfs2-tools-devel mailing list