block, cfq: move icq cache management to block core
authorTejun Heo <tj@kernel.org>
Tue, 13 Dec 2011 23:33:42 +0000 (00:33 +0100)
committerJens Axboe <axboe@kernel.dk>
Tue, 13 Dec 2011 23:33:42 +0000 (00:33 +0100)
commit3d3c2379feb177a5fd55bb0ed76776dc9d4f3243
treefafebbef8f0fb5b73ac4db24bff20dcd40b8bf12
parent47fdd4ca96bf4b28ac4d05d7a6e382df31d3d758
block, cfq: move icq cache management to block core

Let elevators set ->icq_size and ->icq_align in elevator_type and
elv_register() and elv_unregister() respectively create and destroy
kmem_cache for icq.

* elv_register() now can return failure.  All callers updated.

* icq caches are automatically named "ELVNAME_io_cq".

* cfq_slab_setup/kill() are collapsed into cfq_init/exit().

* While at it, minor indentation change for iosched_cfq.elevator_name
  for consistency.

This will help moving icq management to block core.  This doesn't
introduce any functional change.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/cfq-iosched.c
block/deadline-iosched.c
block/elevator.c
block/noop-iosched.c
include/linux/elevator.h