aboutsummaryrefslogtreecommitdiff
path: root/block/cfq-iosched.c
AgeCommit message (Collapse)Author
2006-03-18[PATCH] fix cfq_get_queue()/ioprio_set(2) racesAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-03-18[PATCH] deal with rmmod/put_io_context() racesAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-03-18[PATCH] stop elv_unregister() from rogering other iosched's data, fix lockingAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-03-18[PATCH] stop cfq from pinning queue downAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-03-18[PATCH] make cfq_exit_queue() prune the cfq_io_context for that queueAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-03-18[PATCH] fix the exclusion for ioprio_set()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-03-18[PATCH] keep sync and async cfq_queue separateAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-03-18[PATCH] switch to use of ->key to get cfq_data by cfq_io_contextAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-03-18[PATCH] stop leaking cfq_data in cfq_set_request()Al Viro
We don't need to pin ->key down; ->cfqq->cfqd will do that for us. Incidentally, that stops the leak we had - that reference was never dropped. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-03-18[PATCH] fix cfq hash lookupsAl Viro
If somebody does a hash lookup for cfq_queue while ioprio of an async queue is elevated, they shouldn't end up stuck with lowered ioprio when we go back. Fix is to use ->org_ioprio{,class} in hash lookups. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-02-28[PATCH] cfq-iosched: slice expiry fixupsJens Axboe
During testing of SLES10, we encountered a hang in the CFQ io scheduler. Turns out the deferred slice expiry logic is buggy, so remove that for now. We could be left with an idle queue that would never wake up. So kill that logic, always expire immediately. Also fix a potential timer race condition. Patch looks bigger than it is, because it moves a function. Signed-off-by: Jens Axboe <axboe@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-06[BLOCK] mark some block/ variables consArjan van de Ven
the patch below marks various read-only variables in block/* as const, so that gcc can optimize the use of them; eg gcc will replace the use by the value directly now and will even remove the memory usage of these. Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Jens Axboe <axboe@suse.de>
2005-11-18[BLOCK] new block/ directory comment tidyCoywolf Qi Hunt
Some leftover comments referring to drivers/block that are now block/. They don't add any information we don't already have, so kill them. Signed-off-by: Coywolf Qi Hunt <qiyong@fc-cn.com> Signed-off-by: Jens Axboe <axboe@suse.de>
2005-11-12[BLOCK] cfq-iosched: fix slice_left calculationTejun Heo
When cfq slice expires, remainder of slice is calculated and stored in cfqq->slice_left. Current code calculates the opposite of remainder - how many jiffies the cfqq has used past slice end. This patch fixes the bug. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jens Axboe <axboe@suse.de>
2005-11-12[BLOCK] cfq-iosched: cfq forced dispatching fixTejun Heo
cfq forced dispatching might not return all requests on the queue. This bug can hang elevator switchinig and corrupt request ordering during flush sequence. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jens Axboe <axboe@suse.de>
2005-11-04[BLOCK] Move all core block layer code to new block/ directoryJens Axboe
drivers/block/ is right now a mix of core and driver parts. Lets move the core parts to a new top level directory. Al will move the fs/ related block parts to block/ next. Signed-off-by: Jens Axboe <axboe@suse.de>