2012-02-18 17 views

cevap

12

Hepsini derlerseniz, önyükleme zamanında veya aygıtın hangi zamanlayıcıyı kullanacağını seçebilirsiniz. Her baytın sayıldığı yerleşik bir aygıtı hedeflemediğiniz sürece, derleme zamanında seçmenize gerek yoktur. Önyükleme sırasında aygıt başına veya sistem genelinde geçiş hakkında ayrıntılar için bkz. Documentation/block/switching-sched.txt.

CFQ zamanlayıcısı, ionice(1) aracı veya ioprio_set(2) sistem çağrısı aracılığıyla öncelikleri belirlemenizi sağlar. Bu, bazı işlemlere öncelik verilmesine veya diğerlerinin yalnızca sistem bloğu aygıtları nispeten boştayken IO'larını yapmaya zorlanmasını sağlar. Kuyruklar, segregating the IO requests from processes into queues tarafından uygulanır ve her sıradaki istekleri, CPU programlamaya benzer şekilde ele alınır. Yapılandırmanın ayrıntıları Documentation/block/cfq-iosched.txt'da bulunabilir.

Öte yandan, son tarih programlayıcısı tüm işlemlerin tüm işlemlerinden aynı anda bakar; Yazıları sektör sayısına göre sıralar ve hepsini lineer olarak yazar. Son tarihler, her bir bloğun son teslim tarihi geçmeden yazılmaya çalıştığı, ancak bu son tarihler dahilinde blokları uygun gördüğü şekilde yeniden düzenlemekte özgür olduğu anlamına gelir. Yapılandırmaya ilişkin detaylar Documentation/block/deadline-iosched.txt'da bulunabilir.

3

Uygulamada muhtemelen çok az.

Testlerimde, akıllı bir RAID denetleyiciniz varsa genel olarak NOOP'un biraz daha iyi olduğunu gördüm. Diğerleri benzer sonuçlar bildirmiştir, ancak iş yükünüz farklı olabilir. Ancak, bunları çalışma zamanında (yeniden başlatmadan) seçebilirsiniz, bu nedenle derleme zamanında endişelenmeyin.

Anlayışım, "akıllı" zamanlayıcıların (CFQ ve son tarih), RAID denetleyicisi olmayan, geleneksel "dönen disk" aygıtlarında gerçekten çok yardımcı olduğuydu.

+0

Ayrıca, SSD ile de iyi çalışmıyor – r004