As listed, the choices are noop, anticipatory, deadline, and cfq.<br><br>Kernel gurus look away as I try to explain this, lest you risk dying a bit (or a lot) on the inside....<br><br>The default is CFQ which tries to separate IO requests by priority classes, and then provides fair timeslices to each process within each priority class. This is meant to be a good balance between low latency and high overall throughput.<br>
<br>anticipatory used to be default up to like 2.6.9-ish and is designed for disks where seeking is costly (i.e. mechanical hard drives). The theory is, this scheduler tries to guess based on past experience after performing a disk operation in an area of a disk, whether to move on to the next request, or to sit there for a bit longer (waiting) hoping for more requests for data in the area. This algorithm is meant to reduce disk seeking, and hence from the benchmarks I've seen, the anticipatory scheduler is meant to deliver the highest net throughput but not optimal response times (latency), since it gives "unfair" preference to data within easy reach so to speak.<br>
<br>The deadline scheduler sets a hard deadline on how much time a particular IO operation is given before taking it away and giving disk access to another IO process. It's said that this provides the best response time (latency) to a flurry of random disk reads amongst other heavy disk activity, such as opening up a document while a 20GB torrent is hash-checking in the background. However, it probably delivers the least optimal overall throughput of the schedulers above.<br>
<br>And finally, noop simply is a null scheduler -- it makes no attempt to reorder, prioritize, or otherwise optimize IO requests -- I believe its purpose is for underlying devices which have some sort of IO scheduling capability, and/or for debugging purposes. I've heard people recommend using this for solid state media but I haven't seen any reliable sources confirming or rejecting this claim.<br>
<br><br>John<br><br><br><br><div class="gmail_quote">On Fri, Nov 7, 2008 at 6:12 AM, (``-_-´´) -- Fernando <span dir="ltr"><<a href="mailto:ubuntu@bugabundo.net">ubuntu@bugabundo.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Olá Scott e a todos.<br>
<br>
On Thursday 06 November 2008 22:44:17 Scott James Remnant wrote:<br>
> Also you can just fiddle on a per-disk basis, e.g.:<br>
>   echo -n deadline > /sys/block/sda/queue/scheduler<br>
<br>
What other options are there, and in which cases can/should them be used?<br>
<br>
Currenctly this is what I hae on mine:<br>
$ cat /sys/block/sda/queue/scheduler<br>
noop anticipatory deadline [cfq]<br>
<font color="#888888"><br>
<br>
--<br>
BUGabundo  :o)<br>
(``-_-´´)       <a href="http://LinuxNoDEI.BUGabundo.net" target="_blank">http://LinuxNoDEI.BUGabundo.net</a><br>
Linux user #443786    GPG key 1024D/A1784EBB<br>
My new micro-blog @ <a href="http://BUGabundo.net" target="_blank">http://BUGabundo.net</a><br>
</font>ps. My emails tend to sound authority and aggressive. I'm sorry in advance. I'll try to be more assertive as time goes by...<br>
<br>--<br>
Ubuntu-devel-discuss mailing list<br>
<a href="mailto:Ubuntu-devel-discuss@lists.ubuntu.com">Ubuntu-devel-discuss@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss" target="_blank">https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss</a><br>
<br></blockquote></div><br>