Files
ubports_kernel_google_msm/include/linux
Tejun Heo 7e5a879449 block, cfq: move io_cq exit/release to blk-ioc.c
With kmem_cache managed by blk-ioc, io_cq exit/release can be moved to
blk-ioc too.  The odd ->io_cq->exit/release() callbacks are replaced
with elevator_ops->elevator_exit_icq_fn() with unlinking from both ioc
and q, and freeing automatically handled by blk-ioc.  The elevator
operation only need to perform exit operation specific to the elevator
- in cfq's case, exiting the cfqq's.

Also, clearing of io_cq's on q detach is moved to block core and
automatically performed on elevator switch and q release.

Because the q io_cq points to might be freed before RCU callback for
the io_cq runs, blk-ioc code should remember to which cache the io_cq
needs to be freed when the io_cq is released.  New field
io_cq->__rcu_icq_cache is added for this purpose.  As both the new
field and rcu_head are used only after io_cq is released and the
q/ioc_node fields aren't, they are put into unions.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2011-12-14 00:33:42 +01:00
..
2011-11-07 09:11:16 -08:00
2011-11-02 16:07:03 -07:00
2011-10-26 15:43:25 -04:00
2011-11-16 09:21:50 +01:00
2011-08-03 11:30:42 -04:00
2011-09-27 09:25:02 +01:00
2011-08-25 16:25:33 -07:00
2011-11-07 23:54:53 +01:00
2011-10-31 20:19:04 +00:00
2011-09-14 15:24:51 -04:00
2011-08-08 16:08:08 +02:00
2011-11-23 11:33:07 +01:00
2011-10-30 04:43:30 -04:00
2011-09-27 18:08:04 +02:00
2011-09-25 19:52:59 +03:00
2011-09-16 19:20:20 -04:00
2011-11-02 16:06:57 -07:00
2011-10-31 14:03:22 +01:00
2011-11-22 16:37:01 -05:00
2011-11-02 16:07:02 -07:00
2011-11-29 11:59:50 +00:00
2011-10-31 17:30:47 -07:00
2011-08-16 00:16:49 -07:00
2011-08-03 14:25:22 -10:00
2011-10-31 17:30:44 -07:00
2011-11-02 16:07:02 -07:00
2011-10-03 14:01:21 -04:00
2011-08-23 10:10:38 -07:00
2011-11-02 16:07:02 -07:00
2011-09-14 15:24:51 -04:00