Ja netvrdim, ze cely Linux je bastl, v zadnem pripade, ale musite uznat, ze obcas se to lepi dost zoufale. WiFi drivery jsou podle me zarnym prikladem (ale snad to po implementaci mac80211 bude lepsi, snad se toho doziju ;-)
Uznavam, ze situace v oblasti wifi driveru je dost neuspokojiva. Nenazyval bych to ale problem bastlu a lepeni (coz jsou obvykle vyrazy pro vyuzivani existujiciho kodu naprosto nevhodnym zpusobem), jako spis nedostatecne koordinace mezi vyvojari ruznych wifi driveru (a tedy spis nevyuzivani jiz existujiciho kodu a zbytecna duplikace).
A co se tyce tech I/O operaci... Mate pravdu, bylo to o operacich a ne o interuptech (a ani jedno Linux nema),
Viz ionice.
ale domnivam se, ze tezko se daji udelat priorizovane I/O bez priorizace IRQ, takze bych to za tak velky omyl nepovazoval.
Domnivam se, ze obsluha IRQ ma na priorizaci I/O operaci zcela marginalni vliv. Prioritizace I/O operaci je koncepcne podobne treba sitovemu shapingu - pri zapisu/cteni dat na disk (odeslani/prijeti paketu) si vybiras pozadavek k zpracovani nikoliv podle FIFO, ale podle priorit. Dulezity je tedy vyber pozadavku, ktere se predaji hardware. U pevnych disku jsou samozrejme komplikace se slozitym ovlivnovanim vyrizovani jednotlivych pozadavku.