01 May, 2005

4 commits

  • This patch optimizes io_submit_one to call aio_run_iocb() directly if
    ctx->run_list is empty. When the list is empty, the operation of adding to
    the list, then call to __aio_run_iocbs() is unnecessary because these
    operations are done in one atomic step. ctx->run_list always has only one
    element in this case. This optimization speeds up industry standard db
    transaction processing benchmark by 0.2%.

    Signed-off-by: Ken Chen
    Cc: Benjamin LaHaise
    Cc: Suparna Bhattacharya
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ken Chen
     
  • Clean up code that was previously used for debug purpose. Remove aio_run,
    aio_wakeups, iocb->ki_queued and iocb->ki_kicked. Also clean up unused
    variable count in __aio_run_iocbs() and debug code in read_events().

    Signed-off-by: Ken Chen
    Cc: Benjamin LaHaise
    Cc: Suparna Bhattacharya
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ken Chen
     
  • Since the tail pointer in aio_ring structure never wrap ring size more than
    once, so a simple compare is sufficient to wrap the index around. This avoid
    a more expensive mod operation.

    Signed-off-by: Ken Chen
    Cc: Benjamin LaHaise
    Cc: Suparna Bhattacharya
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ken Chen
     
  • This patch removes superfluous kiocb member initialization in the AIO
    allocation and deallocation path. For example, in really_put_req(),
    right before kiocb is returned to slab, 5 variables are reset to NULL.
    The same variables will be initialized at the kiocb allocation time,
    so why bother reset them knowing that they will be set to valid data
    at alloc time? Another example: ki_retry is initialized in __aio_get_req,
    but is initialized again in io_submit_one.

    Signed-off-by: Ken Chen
    Cc: Benjamin LaHaise
    Cc: Suparna Bhattacharya
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ken Chen
     

25 Apr, 2005

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds