CFQ - CFQ
![]() | tento článek potřebuje další citace pro ověření.únor 2013) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Zcela spravedlivé řazení (CFQ) je Plánovač I / O pro Linuxové jádro který v roce 2003 napsal Jens Axboe.[1]
Popis
CFQ zadává synchronní požadavky odeslané uživatelem procesy do několika procesů fronty a poté přidělí časové plány pro každou z front pro přístup k disk. Délka časového úseku a počet požadavků, které může fronta odeslat, závisí na I / O prioritě daného procesu. Asynchronní požadavky na všechny procesy jsou dávkově spojeny v méně frontách, jedna na prioritu. Zatímco CFQ nedělá explicitní předvídavý Plánování I / O dosahuje stejného efektu, že má dobrou agregovanou propustnost pro systém jako celek tím, že umožňuje procesní frontě nečinnosti na konci synchronních I / O, čímž „předvídá“ další blízké I / O z tohoto procesu. Lze jej považovat za přirozené rozšíření udělování I / O časových řezů procesu.[2]
Dějiny
Před integrací
V únoru 2003 Andrea Arcangeli představil svůj nápad na Stochastic Fair Queuing I / O plánovač Jensovi Axboeovi, který jej poté implementoval. Jens Axboe provedl vylepšení první implementace hufllzD.is, nazval novou verzi plánovačem Completely Fair Queuing a vytvořil opravu, která ji aplikovala na jádro vývojové řady 2.5.60.
Jádro 2.6.6 (10. května 2004)
Plánovač I / O CFQ byl nejprve integrován do jádra hlavní řady jako volitelný plánovač I / O. Bylo možné změnit plánovač v době zavádění pomocí parametru 'elevátor' na jádro.
Kernel 2.6.9 (19. října 2004)
Red Hat Enterprise Linux 4 použil tento I / O plánovač jako výchozí, i když používal jádro založené na 2.6.9.[3]
Jádro 2.6.10 (24. prosince 2004)
Druhé vydání plánovače CFQ s názvem CFQv2 je součástí 2.6.10, vylepšení zahrnují lepší odezvu a eliminaci některých problémů s hladem, které byly přítomny ve starší verzi. Plánovač je nyní také přepínatelný za běhu úpravou proměnné / sys / block /
Jádro 2.6.13 (27. června 2005)
Plánovač CFQ se přesunul na nový design s časovým řezem nazvaný CFQv3. Mimo jiné implementuje ioprio_get (2) a ioprio_set (2) což uživateli umožňuje nastavit priority I / O jednotlivých procesů, obvykle pomocí ionice (1) příkaz (i když použití nice (1) také trochu upravuje I / O priority)
Jádro 2.6.18 (20. září 2006)
CFQ se stal výchozím plánovačem, který nahradil předběžný plánovač.[4]
Jádro 5.0 (03.03.2019)
Viz také
Reference
- ^ "Zdrojový kód plánovače IO, (v záhlaví obsahuje informace o autorských právech)". Citováno 28. prosince 2017.
- ^ Bessie Palos (říjen 2014). „Explicit Anticipatory I / O Scheduling - Case Study“. Citováno 13. srpna 2015.
- ^ D. John Shakshober (červen 2005). „Volba plánovače I / O pro Red Hat® Enterprise Linux® 4 a jádro 2.6“. Časopis Red Hat. Archivovány od originál dne 27. srpna 2007. Citováno 20. listopadu 2011.
- ^ Jens Axboe (červen 2006). „Linux Kernel 2.6.18 - Nastavit CFQ jako výchozí plánovač IO“. Citováno 20. března 2016.
- ^ Jens Axboe (10.10.2018). „block: remove legacy IO schedulers“. Citováno 2020-10-25.
- ^ Linus Torvalds (2018-12-28). "Sloučit značku 'pro-4.21 / block-20181221' z git.kernel.dk/linux-block". Citováno 2020-10-25.
Zdroje
- Krátký detail o CFQ (archivováno z tady )
- Připravujeme 2.6.10
externí odkazy
- Dokumentace CFQ ze zdrojového kódu Linuxu
- CFQ - průvodce laděním ze znalostní základny RedHat