I/O visszafejlődés a 2.6.0-test5 után

Címkék

Randy Hron küldött a kernel listára egy levelet, amelyben arról számol be, hogy szerinte 50%-os I/O visszafejlődés tapasztalható a 2.6.0-test kernelekben a 2.6.0-test5 óta. A feltevéseit tesztekkel is alátámasztotta.A tesztek alatt az 50%-os visszaesés a AIM7 job/minute mérésekben jelentkezett. A méréseket egy 4 utas P3 Xeon gépen végezte, és a tesztek alatt arra a következtetésre jutott, hogy a I/O regresszió nem függ a filerendszer típusától.

Feltette a kérdést, hogy vajon nem az I/O vagy az I/O scheduler okozza-e a teljesítményesést. Nick Piggin, az anticipatory I/O ütemező fejlesztője azt válaszolta, hogy szerinte ez I/O ütemező probléma, és azon gondolkozik, hogy hogyan lehetne javítani. Andrew Morton - a 2.6.0 jelenlegi karbantartója - szerint érdemes lenne megismételni a méréseket a régi ``deadline'' I/O ütemezővel is.

Egy későbbi levelében Nick azt kérte, hogy akinek van ideje, az tesztelje a 2.6.0-test5-ben levő as-iosched.c-t a későbbi kernelekben.

(megjegyzés: egy egyszerű notebookon is jelentkeznek a problémák, szemmel láthatóan kisebb a diszk teljesítmény)

A thread itt kezdődik.

Hozzászólások

Ez igy van. Nem is zavarna, ha csak lassabb lenne, de diszkret idokozonkent egyszeruen megall a gep, ha sok az irasi muvelet (test6). Atkapcsolva deadline schedulerre, nincs ilyen problema. A test7 instabil lett valamiert, a test8-at meg nem probaltam, de itt van az ideje.

A -test5 kernelbol a drivers/block/as-sched.c file bemasolasa a -test8-ba, majd a kernel ujraforditasa csodakra kepes. Semmilyen hack nem kell, egyszeruen csak be kell masolni.

Nálam is előfordult, pl. ha mc-vel belementem a kernel forráscsomagba és kimásoltam az egészet, akkor volt olyan file ahol egyszerűen megállt, mintha lefagyott volna (nem sync-elt, mert ez annál hosszabb volt). Utána mintha mi sem történt volna.

Trey: a $KERNELSRC/drivers/block/as-sched.c file -t nem találom, as-iosched.c viszont van. Én azt másoltam vissza. Nézz utána kérlek.

wince