AIO refactoring/performance improvements/cancellation

From: Kent Overstreet
Date: Mon May 13 2013 - 21:26:06 EST


This is a respin of the AIO patches that were deferred until 3.11, along
with some other stuff I had queued up.

Changes:

* Took the dynamic allocation stuff out of the percpu refcounting
patch, which Tejun was wanting. I split the dynamic bits out into
another patch, which I may resend later.

* Changed batch completion to use a singly linked list instead of an rb
tree; it now calls batch_complete_aio() early if it has to look too
far down the list.

* Some batch completion performance improvements, to avoid doing nested
irqsave/restore (which was the source of a performance regression)
and not free the kiocbs with irqs disabled.

* There's also some more assorted refactoring/minor performance
improvements that had been sitting in my tree for awhile but weren't in
the patch series that was queued up for 3.10

* And, the last few patches add cancellation for direct IO; these
patches are still preliminary but they do work and are useful for
some simple use cases.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/