[AIO] aio-next changes for 3.12

From: Benjamin LaHaise
Date: Fri Sep 06 2013 - 14:39:31 EST


Hello Andrew,

Please consider pulling the following changes from my aio-next tree at:

git://git.kvack.org/~bcrl/aio-next.git

which covers changes since commit 47188d39b5deeebf41f87a02af1b3935866364cf.

These changes have been baking in the linux-next tree for the last few
months. The bulk of this work comes from Kent Overstreet which reworks
and improve performance of the AIO core and lays the foundation for his
batch completion work. Also included is Gu Zheng's cleanups of my work
to enable page migration in the AIO core, which fixes hot unplug of
memory pinned by AIO. The last few patches are fixes by me for some of
the issues uncovered in this change set during its testing.

-ben

Benjamin LaHaise (8):
aio: fix build when migration is disabled
aio: double aio_max_nr in calculations
aio: convert the ioctx list to table lookup v3
aio: be defensive to ensure request batching is non-zero instead of
BUG_ON()
aio: fix error handling and rcu usage in "convert the ioctx list to
table lookup v3"
aio: table lookup: verify ctx pointer
aio: remove unnecessary debugging from aio_free_ring()
aio: fix rcu sparse warnings introduced by ioctx table lookup patch

Gu Zheng (2):
fs/anon_inode: Introduce a new lib function
anon_inode_getfile_private()
fs/aio: Add support to aio ring pages migration

Kent Overstreet (9):
aio: reqs_active -> reqs_available
aio: percpu reqs_available
aio: percpu ioctx refcount
aio: io_cancel() no longer returns the io_event
aio: Don't use ctx->tail unnecessarily
aio: Kill aio_rw_vect_retry()
aio: Kill unneeded kiocb members
aio: Kill ki_users
aio: Kill ki_dtor

Peng Tao (1):
staging/lustre: kiocb->ki_left is removed

drivers/staging/android/logger.c | 2 +-
drivers/staging/lustre/lustre/llite/file.c | 4 +-
drivers/usb/gadget/inode.c | 9 +-
fs/aio.c | 713 ++++++++++++++++++-----------
fs/anon_inodes.c | 66 +++
fs/block_dev.c | 2 +-
fs/nfs/direct.c | 1 -
fs/ocfs2/file.c | 6 +-
fs/read_write.c | 3 -
fs/udf/file.c | 2 +-
include/linux/aio.h | 21 +-
include/linux/anon_inodes.h | 3 +
include/linux/migrate.h | 3 +
include/linux/mm_types.h | 5 +-
kernel/fork.c | 2 +-
mm/migrate.c | 2 +-
mm/page_io.c | 1 -
net/socket.c | 15 +-
18 files changed, 547 insertions(+), 313 deletions(-)

--
1.8.2.1
--
"Thought is the essence of where you are now."
--
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/