Messages in this thread Patch in this message | | | Date | Thu, 13 Apr 2006 16:04:12 +0200 (MEST) | From | Jan Engelhardt <> | Subject | Re: 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/
| |