
Společnost Cloudflare nasadila na své linuxové servery šifrování disků a její správci zjistili, že výkon není takový, jaký si představovali. Vývojáři se tedy ponořili do zdrojových kódů a přišli s velmi zajímavými optimalizacemi, které vedly ke zdvojnásobení výkonu a poloviční latenci. Detaily popsali na svém blogu.
Základem je nová synchronní implementace ovladače AES-XTS využívající instrukce AES-NI a umožňující přechod zpět na softwarové AES podle potřeby. Tím se jádro vyhýbá řazení požadavků na Crypto API do asynchronních front, což všechny operace v jádře zdržuje. V extrémním případě se totiž jedna akce umí rozdělit až na čtyři asynchronní kroky, které pak na sebe postupně čekají.
Záplaty vytvořené v Cloudflare jsou k dispozici na GitHubu a vývojáři doufají v jejich začlenění do hlavního vývojového stromu linuxového jádra. Podle jejich slov je to jen začátek, tahle verze kódu se zaměřuje jen na jeden konkrétní problém a je potřeba přistoupit k celému šifrovacímu subsystému nově a lépe. Ukazuje to zároveň, že šifrování nemusí být výkonnostně náročné a nemá smysl se mu vyhýbat.