lkml.org 
[lkml]   [2006]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: CSCAN I/O scheduler for 2.6.10 kernel
>Jan
>
>I am attaching a final CSCAN scheduler patch for the 2.6.16.2 kernel.
>The earlier patch that I had posted had a bug in the
>"cscan_merged_requests" function. This has been taken care of in the
>attached patch. I would really appreciate if some one could help me
>in conducting performance tests for the attached patch.
>
>Many thanks for to all of you all for your inputs on this.

Looks good, and did not break so far.
At frst I was puzzled why it did not show up in menuconfig, and eventually
I found out it was not assigned a name. Also allow building it as a module.
Updated patch for the Kconfig.iosched file in block is below.

diff -Ndpru linux-2.6.17-rc1~/block/Kconfig.iosched linux-2.6.17-rc1-csc/block/Kconfig.iosched
--- linux-2.6.17-rc1~/block/Kconfig.iosched 2006-04-03 05:22:10.000000000 +0200
+++ linux-2.6.17-rc1-csc/block/Kconfig.iosched 2006-04-13 13:12:09.275805000 +0200
@@ -38,6 +38,19 @@ config IOSCHED_CFQ
among all processes in the system. It should provide a fair
working environment, suitable for desktop systems.

+config IOSCHED_CSCAN
+ tristate "CSCAN I/O scheduler"
+ default y
+ ---help---
+ CSCAN I/O scheduler. Maintain two queues which will be sorted in
+ ascending order using Red Black Trees. When a disk request arrives and
+ if the block number it refers to is greater than the block number of the
+ current request being served add (merge) it to the first sorted queue or
+ else add (merge) it to the second sorted queue. Keep on servicing the
+ requests from the first request queue until it is empty after which
+ switch over to the second queue and now reverse the roles of the two
+ queues
+
choice
prompt "Default I/O scheduler"
default DEFAULT_AS
@@ -54,6 +67,9 @@ choice
config DEFAULT_CFQ
bool "CFQ" if IOSCHED_CFQ=y

+ config DEFAULT_CSCAN
+ bool "CSCAN" if IOSCHED_CSCAN=y
+
config DEFAULT_NOOP
bool "No-op"

@@ -64,6 +80,7 @@ config DEFAULT_IOSCHED
default "anticipatory" if DEFAULT_AS
default "deadline" if DEFAULT_DEADLINE
default "cfq" if DEFAULT_CFQ
+ default "cscan" if DEFAULT_CSCAN
default "noop" if DEFAULT_NOOP

endmenu
#<<eof>>

Jan Engelhardt
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-04-13 16:06    [W:0.101 / U:0.668 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site