Penguin
Diff: LinuxIoScheduler
EditPageHistoryDiffInfoLikePages

Differences between version 11 and predecessor to the previous major change of LinuxIoScheduler.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 11 Last edited on Tuesday, October 17, 2006 12:22:35 pm by DanielLawson Revert
Older page: version 10 Last edited on Sunday, October 8, 2006 8:54:34 am by GeorgePollard Revert
@@ -24,17 +24,17 @@
 This scheduler only implements request merging. 
  
 ! Anticipatory IO Scheduler ("as scheduler") 
  
-The anticipatory scheduler is the default scheduler - if you've not specified one, this is the one that will be loaded. It implements request merging, a one-way elevator, read and write request batching, and attempts some anticapatory reads by holding off a bit after a read batch if it thinks a user is going to ask for more data. It tries to optimise for physical disks by avoiding head movements if possible - one downside to this is that it probably give highly erratic performance on database or storage systems. 
+The anticipatory scheduler is the default scheduler in older 2.6 kernels - if you've not specified one, this is the one that will be loaded. It implements request merging, a one-way elevator, read and write request batching, and attempts some anticapatory reads by holding off a bit after a read batch if it thinks a user is going to ask for more data. It tries to optimise for physical disks by avoiding head movements if possible - one downside to this is that it probably give highly erratic performance on database or storage systems. 
  
 ! Deadline Scheduler 
  
 The deadline scheduler implements request merging, a one-way elevator, and imposes a deadline on all operations to prevent resource starvation. Because writes return instantly within linux, with the actual data being held in cache, the deadline scheduler will also prefer readers - as long as the deadline for a write request hasn't passed. The kernel docs suggest this is the preferred scheduler for database systems, especially if you have [TCQ] aware disks, or any system with high disk performance. 
  
 ! Complete Fair Queueing Scheduler ("cfq scheduler") 
  
-The complete fair queueing scheduler implements both request merging and the elevator, and attempts to give all users of a particular device the same number of IO requests over a particular time interval. This should make it more efficient for multiuser systems. It seems that Novel SLES sets cfq as the scheduler by default, as does the latest [Ubuntu] release. 
+The complete fair queueing scheduler implements both request merging and the elevator, and attempts to give all users of a particular device the same number of IO requests over a particular time interval. This should make it more efficient for multiuser systems. It seems that Novel SLES sets cfq as the scheduler by default, as does the latest [Ubuntu] release. As of the 2.6.18 kernel, this is the default schedular in kernel.org releases
  
 !! Changing Schedulers 
  
 The most reliable way to change schedulers is to set the kernel option 'elevator' at boot time. You can set it to one of "as", "cfq", "deadline" or "noop", to set the appropriate scheduler.