diff options
| author | Tejun Heo <tj@kernel.org> | 2011-12-13 18:33:39 -0500 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2011-12-13 18:33:39 -0500 |
| commit | b50b636bce6293fa858cc7ff6c3ffe4920d90006 (patch) | |
| tree | 65a4c509ff491aa89bf4d1a5f3e26d600eeea49f /include/linux/elevator.h | |
| parent | b9a1920837bc53430d339380e393a6e4c372939f (diff) | |
block, cfq: kill ioc_gone
Now that cic's are immediately unlinked under both locks, there's no
need to count and drain cic's before module unload. RCU callback
completion is waited with rcu_barrier().
While at it, remove residual RCU operations on cic_list.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/elevator.h')
| -rw-r--r-- | include/linux/elevator.h | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/include/linux/elevator.h b/include/linux/elevator.h index 581dd1bd3d3..02604c89ddd 100644 --- a/include/linux/elevator.h +++ b/include/linux/elevator.h | |||
| @@ -196,22 +196,5 @@ enum { | |||
| 196 | INIT_LIST_HEAD(&(rq)->csd.list); \ | 196 | INIT_LIST_HEAD(&(rq)->csd.list); \ |
| 197 | } while (0) | 197 | } while (0) |
| 198 | 198 | ||
| 199 | /* | ||
| 200 | * io context count accounting | ||
| 201 | */ | ||
| 202 | #define elv_ioc_count_mod(name, __val) this_cpu_add(name, __val) | ||
| 203 | #define elv_ioc_count_inc(name) this_cpu_inc(name) | ||
| 204 | #define elv_ioc_count_dec(name) this_cpu_dec(name) | ||
| 205 | |||
| 206 | #define elv_ioc_count_read(name) \ | ||
| 207 | ({ \ | ||
| 208 | unsigned long __val = 0; \ | ||
| 209 | int __cpu; \ | ||
| 210 | smp_wmb(); \ | ||
| 211 | for_each_possible_cpu(__cpu) \ | ||
| 212 | __val += per_cpu(name, __cpu); \ | ||
| 213 | __val; \ | ||
| 214 | }) | ||
| 215 | |||
| 216 | #endif /* CONFIG_BLOCK */ | 199 | #endif /* CONFIG_BLOCK */ |
| 217 | #endif | 200 | #endif |
