Messages in this thread | | | From | Kent Overstreet <> | Subject | AIO refactoring/performance improvements/cancellation | Date | Mon, 13 May 2013 18:18:37 -0700 |
| |
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.
| |