|
Linux Kernel
3.7.1
|
#include <linux/module.h>#include <linux/slab.h>#include <linux/blkdev.h>#include <linux/elevator.h>#include <linux/jiffies.h>#include <linux/rbtree.h>#include <linux/ioprio.h>#include <linux/blktrace_api.h>#include "blk.h"#include "blk-cgroup.h"Go to the source code of this file.
Data Structures | |
| struct | cfq_ttime |
| struct | cfq_rb_root |
| struct | cfq_queue |
| struct | cfqg_stats |
| struct | cfq_group |
| struct | cfq_io_cq |
| struct | cfq_data |
Macros | |
| #define | CFQ_IDLE_DELAY (HZ / 5) |
| #define | CFQ_MIN_TT (2) |
| #define | CFQ_SLICE_SCALE (5) |
| #define | CFQ_HW_QUEUE_MIN (5) |
| #define | CFQ_SERVICE_SHIFT 12 |
| #define | CFQQ_SEEK_THR (sector_t)(8 * 100) |
| #define | CFQQ_CLOSE_THR (sector_t)(8 * 1024) |
| #define | CFQQ_SECT_THR_NONROT (sector_t)(2 * 32) |
| #define | CFQQ_SEEKY(cfqq) (hweight32(cfqq->seek_history) > 32/8) |
| #define | RQ_CIC(rq) icq_to_cic((rq)->elv.icq) |
| #define | RQ_CFQQ(rq) (struct cfq_queue *) ((rq)->elv.priv[0]) |
| #define | RQ_CFQG(rq) (struct cfq_group *) ((rq)->elv.priv[1]) |
| #define | CFQ_PRIO_LISTS IOPRIO_BE_NR |
| #define | cfq_class_idle(cfqq) ((cfqq)->ioprio_class == IOPRIO_CLASS_IDLE) |
| #define | cfq_class_rt(cfqq) ((cfqq)->ioprio_class == IOPRIO_CLASS_RT) |
| #define | sample_valid(samples) ((samples) > 80) |
| #define | rb_entry_cfqg(node) rb_entry((node), struct cfq_group, rb_node) |
| #define | CFQ_RB_ROOT |
| #define | CFQ_CFQQ_FNS(name) |
| #define | cfq_log_cfqq(cfqd, cfqq, fmt, args...) blk_add_trace_msg((cfqd)->queue, "cfq%d " fmt, (cfqq)->pid, ##args) |
| #define | cfq_log_cfqg(cfqd, cfqg, fmt, args...) do {} while (0) |
| #define | cfq_log(cfqd, fmt, args...) blk_add_trace_msg((cfqd)->queue, "cfq " fmt, ##args) |
| #define | for_each_cfqg_st(cfqg, i, j, st) |
| #define | CFQ_RQ1_WRAP 0x01 /* request 1 wraps */ |
| #define | CFQ_RQ2_WRAP 0x02 /* request 2 wraps */ |
| #define | SHOW_FUNCTION(__FUNC, __VAR, __CONV) |
| #define | STORE_FUNCTION(__FUNC, __PTR, MIN, MAX, __CONV) |
| #define | CFQ_ATTR(name) __ATTR(name, S_IRUGO|S_IWUSR, cfq_##name##_show, cfq_##name##_store) |
Functions | |
| CFQ_CFQQ_FNS (on_rr) | |
| CFQ_CFQQ_FNS (wait_request) | |
| CFQ_CFQQ_FNS (must_dispatch) | |
| CFQ_CFQQ_FNS (must_alloc_slice) | |
| CFQ_CFQQ_FNS (fifo_expire) | |
| CFQ_CFQQ_FNS (idle_window) | |
| CFQ_CFQQ_FNS (prio_changed) | |
| CFQ_CFQQ_FNS (slice_new) | |
| CFQ_CFQQ_FNS (sync) | |
| CFQ_CFQQ_FNS (coop) | |
| CFQ_CFQQ_FNS (split_coop) | |
| CFQ_CFQQ_FNS (deep) | |
| CFQ_CFQQ_FNS (wait_busy) | |
| SHOW_FUNCTION (cfq_quantum_show, cfqd->cfq_quantum, 0) | |
| SHOW_FUNCTION (cfq_fifo_expire_sync_show, cfqd->cfq_fifo_expire[1], 1) | |
| SHOW_FUNCTION (cfq_fifo_expire_async_show, cfqd->cfq_fifo_expire[0], 1) | |
| SHOW_FUNCTION (cfq_back_seek_max_show, cfqd->cfq_back_max, 0) | |
| SHOW_FUNCTION (cfq_back_seek_penalty_show, cfqd->cfq_back_penalty, 0) | |
| SHOW_FUNCTION (cfq_slice_idle_show, cfqd->cfq_slice_idle, 1) | |
| SHOW_FUNCTION (cfq_group_idle_show, cfqd->cfq_group_idle, 1) | |
| SHOW_FUNCTION (cfq_slice_sync_show, cfqd->cfq_slice[1], 1) | |
| SHOW_FUNCTION (cfq_slice_async_show, cfqd->cfq_slice[0], 1) | |
| SHOW_FUNCTION (cfq_slice_async_rq_show, cfqd->cfq_slice_async_rq, 0) | |
| SHOW_FUNCTION (cfq_low_latency_show, cfqd->cfq_latency, 0) | |
| SHOW_FUNCTION (cfq_target_latency_show, cfqd->cfq_target_latency, 1) | |
| STORE_FUNCTION (cfq_quantum_store,&cfqd->cfq_quantum, 1, UINT_MAX, 0) | |
| STORE_FUNCTION (cfq_fifo_expire_sync_store,&cfqd->cfq_fifo_expire[1], 1, UINT_MAX, 1) | |
| STORE_FUNCTION (cfq_fifo_expire_async_store,&cfqd->cfq_fifo_expire[0], 1, UINT_MAX, 1) | |
| STORE_FUNCTION (cfq_back_seek_max_store,&cfqd->cfq_back_max, 0, UINT_MAX, 0) | |
| STORE_FUNCTION (cfq_back_seek_penalty_store,&cfqd->cfq_back_penalty, 1, UINT_MAX, 0) | |
| STORE_FUNCTION (cfq_slice_idle_store,&cfqd->cfq_slice_idle, 0, UINT_MAX, 1) | |
| STORE_FUNCTION (cfq_group_idle_store,&cfqd->cfq_group_idle, 0, UINT_MAX, 1) | |
| STORE_FUNCTION (cfq_slice_sync_store,&cfqd->cfq_slice[1], 1, UINT_MAX, 1) | |
| STORE_FUNCTION (cfq_slice_async_store,&cfqd->cfq_slice[0], 1, UINT_MAX, 1) | |
| STORE_FUNCTION (cfq_slice_async_rq_store,&cfqd->cfq_slice_async_rq, 1, UINT_MAX, 0) | |
| STORE_FUNCTION (cfq_low_latency_store,&cfqd->cfq_latency, 0, 1, 0) | |
| STORE_FUNCTION (cfq_target_latency_store,&cfqd->cfq_target_latency, 1, UINT_MAX, 1) | |
| module_init (cfq_init) | |
| module_exit (cfq_exit) | |
| MODULE_AUTHOR ("Jens Axboe") | |
| MODULE_LICENSE ("GPL") | |
| MODULE_DESCRIPTION ("Completely Fair Queueing IO scheduler") | |
Definition at line 4125 of file cfq-iosched.c.
| #define CFQ_CFQQ_FNS | ( | name | ) |
Definition at line 385 of file cfq-iosched.c.
| #define cfq_class_idle | ( | cfqq | ) | ((cfqq)->ioprio_class == IOPRIO_CLASS_IDLE) |
Definition at line 64 of file cfq-iosched.c.
| #define cfq_class_rt | ( | cfqq | ) | ((cfqq)->ioprio_class == IOPRIO_CLASS_RT) |
Definition at line 65 of file cfq-iosched.c.
| #define CFQ_HW_QUEUE_MIN (5) |
Definition at line 49 of file cfq-iosched.c.
| #define CFQ_IDLE_DELAY (HZ / 5) |
Definition at line 41 of file cfq-iosched.c.
| #define cfq_log | ( | cfqd, | |
| fmt, | |||
| args... | |||
| ) | blk_add_trace_msg((cfqd)->queue, "cfq " fmt, ##args) |
Definition at line 694 of file cfq-iosched.c.
| #define cfq_log_cfqg | ( | cfqd, | |
| cfqg, | |||
| fmt, | |||
| args... | |||
| ) | do {} while (0) |
Definition at line 679 of file cfq-iosched.c.
| #define cfq_log_cfqq | ( | cfqd, | |
| cfqq, | |||
| fmt, | |||
| args... | |||
| ) | blk_add_trace_msg((cfqd)->queue, "cfq%d " fmt, (cfqq)->pid, ##args) |
Definition at line 677 of file cfq-iosched.c.
| #define CFQ_MIN_TT (2) |
Definition at line 46 of file cfq-iosched.c.
| #define CFQ_PRIO_LISTS IOPRIO_BE_NR |
Definition at line 63 of file cfq-iosched.c.
| #define CFQ_RB_ROOT |
Definition at line 92 of file cfq-iosched.c.
| #define CFQ_RQ1_WRAP 0x01 /* request 1 wraps */ |
| #define CFQ_RQ2_WRAP 0x02 /* request 2 wraps */ |
| #define CFQ_SERVICE_SHIFT 12 |
Definition at line 50 of file cfq-iosched.c.
| #define CFQ_SLICE_SCALE (5) |
Definition at line 48 of file cfq-iosched.c.
| #define CFQQ_CLOSE_THR (sector_t)(8 * 1024) |
Definition at line 53 of file cfq-iosched.c.
| #define CFQQ_SECT_THR_NONROT (sector_t)(2 * 32) |
Definition at line 54 of file cfq-iosched.c.
| #define CFQQ_SEEK_THR (sector_t)(8 * 100) |
Definition at line 52 of file cfq-iosched.c.
| #define CFQQ_SEEKY | ( | cfqq | ) | (hweight32(cfqq->seek_history) > 32/8) |
Definition at line 55 of file cfq-iosched.c.
Definition at line 698 of file cfq-iosched.c.
Definition at line 68 of file cfq-iosched.c.
Definition at line 59 of file cfq-iosched.c.
Definition at line 58 of file cfq-iosched.c.
Definition at line 57 of file cfq-iosched.c.
| #define sample_valid | ( | samples | ) | ((samples) > 80) |
Definition at line 67 of file cfq-iosched.c.
| #define SHOW_FUNCTION | ( | __FUNC, | |
| __VAR, | |||
| __CONV | |||
| ) |
Definition at line 4091 of file cfq-iosched.c.
| enum cfqq_state_flags |
Definition at line 369 of file cfq-iosched.c.
| enum wl_prio_t |
Definition at line 158 of file cfq-iosched.c.
| enum wl_type_t |
Definition at line 168 of file cfq-iosched.c.
| CFQ_CFQQ_FNS | ( | on_rr | ) |
| CFQ_CFQQ_FNS | ( | wait_request | ) |
| CFQ_CFQQ_FNS | ( | must_dispatch | ) |
| CFQ_CFQQ_FNS | ( | must_alloc_slice | ) |
| CFQ_CFQQ_FNS | ( | fifo_expire | ) |
| CFQ_CFQQ_FNS | ( | idle_window | ) |
| CFQ_CFQQ_FNS | ( | prio_changed | ) |
| CFQ_CFQQ_FNS | ( | slice_new | ) |
| CFQ_CFQQ_FNS | ( | sync | ) |
| CFQ_CFQQ_FNS | ( | coop | ) |
| CFQ_CFQQ_FNS | ( | split_coop | ) |
| CFQ_CFQQ_FNS | ( | deep | ) |
| CFQ_CFQQ_FNS | ( | wait_busy | ) |
| MODULE_AUTHOR | ( | "Jens Axboe" | ) |
| module_exit | ( | cfq_exit | ) |
| module_init | ( | cfq_init | ) |
| MODULE_LICENSE | ( | "GPL" | ) |
| SHOW_FUNCTION | ( | cfq_quantum_show | , |
| cfqd-> | cfq_quantum, | ||
| 0 | |||
| ) |
| SHOW_FUNCTION | ( | cfq_fifo_expire_sync_show | , |
| cfqd-> | cfq_fifo_expire[1], | ||
| 1 | |||
| ) |
| SHOW_FUNCTION | ( | cfq_fifo_expire_async_show | , |
| cfqd-> | cfq_fifo_expire[0], | ||
| 1 | |||
| ) |
| SHOW_FUNCTION | ( | cfq_back_seek_max_show | , |
| cfqd-> | cfq_back_max, | ||
| 0 | |||
| ) |
| SHOW_FUNCTION | ( | cfq_back_seek_penalty_show | , |
| cfqd-> | cfq_back_penalty, | ||
| 0 | |||
| ) |
| SHOW_FUNCTION | ( | cfq_slice_idle_show | , |
| cfqd-> | cfq_slice_idle, | ||
| 1 | |||
| ) |
| SHOW_FUNCTION | ( | cfq_group_idle_show | , |
| cfqd-> | cfq_group_idle, | ||
| 1 | |||
| ) |
| SHOW_FUNCTION | ( | cfq_slice_sync_show | , |
| cfqd-> | cfq_slice[1], | ||
| 1 | |||
| ) |
| SHOW_FUNCTION | ( | cfq_slice_async_show | , |
| cfqd-> | cfq_slice[0], | ||
| 1 | |||
| ) |
| SHOW_FUNCTION | ( | cfq_slice_async_rq_show | , |
| cfqd-> | cfq_slice_async_rq, | ||
| 0 | |||
| ) |
| SHOW_FUNCTION | ( | cfq_low_latency_show | , |
| cfqd-> | cfq_latency, | ||
| 0 | |||
| ) |
| SHOW_FUNCTION | ( | cfq_target_latency_show | , |
| cfqd-> | cfq_target_latency, | ||
| 1 | |||
| ) |
| STORE_FUNCTION | ( | cfq_quantum_store | , |
| &cfqd-> | cfq_quantum, | ||
| 1 | , | ||
| UINT_MAX | , | ||
| 0 | |||
| ) |
| STORE_FUNCTION | ( | cfq_fifo_expire_sync_store | , |
| &cfqd-> | cfq_fifo_expire[1], | ||
| 1 | , | ||
| UINT_MAX | , | ||
| 1 | |||
| ) |
| STORE_FUNCTION | ( | cfq_fifo_expire_async_store | , |
| &cfqd-> | cfq_fifo_expire[0], | ||
| 1 | , | ||
| UINT_MAX | , | ||
| 1 | |||
| ) |
| STORE_FUNCTION | ( | cfq_back_seek_max_store | , |
| &cfqd-> | cfq_back_max, | ||
| 0 | , | ||
| UINT_MAX | , | ||
| 0 | |||
| ) |
| STORE_FUNCTION | ( | cfq_back_seek_penalty_store | , |
| &cfqd-> | cfq_back_penalty, | ||
| 1 | , | ||
| UINT_MAX | , | ||
| 0 | |||
| ) |
| STORE_FUNCTION | ( | cfq_slice_idle_store | , |
| &cfqd-> | cfq_slice_idle, | ||
| 0 | , | ||
| UINT_MAX | , | ||
| 1 | |||
| ) |
| STORE_FUNCTION | ( | cfq_group_idle_store | , |
| &cfqd-> | cfq_group_idle, | ||
| 0 | , | ||
| UINT_MAX | , | ||
| 1 | |||
| ) |
| STORE_FUNCTION | ( | cfq_slice_sync_store | , |
| &cfqd-> | cfq_slice[1], | ||
| 1 | , | ||
| UINT_MAX | , | ||
| 1 | |||
| ) |
| STORE_FUNCTION | ( | cfq_slice_async_store | , |
| &cfqd-> | cfq_slice[0], | ||
| 1 | , | ||
| UINT_MAX | , | ||
| 1 | |||
| ) |
| STORE_FUNCTION | ( | cfq_slice_async_rq_store | , |
| &cfqd-> | cfq_slice_async_rq, | ||
| 1 | , | ||
| UINT_MAX | , | ||
| 0 | |||
| ) |
| STORE_FUNCTION | ( | cfq_low_latency_store | , |
| &cfqd-> | cfq_latency, | ||
| 0 | , | ||
| 1 | , | ||
| 0 | |||
| ) |
| STORE_FUNCTION | ( | cfq_target_latency_store | , |
| &cfqd-> | cfq_target_latency, | ||
| 1 | , | ||
| UINT_MAX | , | ||
| 1 | |||
| ) |
1.8.2