aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/iocontext.h
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2008-02-19 10:02:29 +0100
committerJens Axboe <jens.axboe@oracle.com>2008-02-19 10:04:00 +0100
commitffc4e7595734cf768fa60cea8a4d545dfef8231a (patch)
tree9b95aca67ea7c9e87254da501f73cca64504051d /include/linux/iocontext.h
parentblock: make blk_rq_map_user() clear ->bio if it unmaps it (diff)
downloadlinux-dev-ffc4e7595734cf768fa60cea8a4d545dfef8231a.tar.xz
linux-dev-ffc4e7595734cf768fa60cea8a4d545dfef8231a.zip
cfq-iosched: add hlist for browsing parallel to the radix tree
It's cumbersome to browse a radix tree from start to finish, especially since we modify keys when a process exits. So add a hlist for the single purpose of browsing over all known cfq_io_contexts, used for exit, io prio change, etc. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=9948 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to '')
-rw-r--r--include/linux/iocontext.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/iocontext.h b/include/linux/iocontext.h
index 593b222d9dcc..1b4ccf25b4d2 100644
--- a/include/linux/iocontext.h
+++ b/include/linux/iocontext.h
@@ -50,6 +50,7 @@ struct cfq_io_context {
sector_t seek_mean;
struct list_head queue_list;
+ struct hlist_node cic_list;
void (*dtor)(struct io_context *); /* destructor */
void (*exit)(struct io_context *); /* called on task exit */
@@ -77,6 +78,7 @@ struct io_context {
struct as_io_context *aic;
struct radix_tree_root radix_root;
+ struct hlist_head cic_list;
void *ioc_data;
};