21 рядок коду Торвальдса підвищив продуктивність Linux на 2,6%
Відносно невелика зміна коду, внесена головним архітектором Linux Лінусом Торвальдсом, змогла покращити продуктивність цієї операційної системи відразу на 2,6%. При цьому, як пише The Register, коміт Торвальдса складається всього з 21 рядка коду.
Коміт має назву x86/uaccess: Avoid barrier_nospec() in 64-bit copy_from_user() і представляє собою налаштування, призначене для протидії таким типам прогалин у безпеці, як дефекти Meltdown і атаки Spectre. Хоча вперше про ці проблеми стало відомо у 2018 році, вони досі не зникли.
Патч Лінуса Торвальдса є переписаним виправленням, яке спочатку надіслав розробник Red Hat Джош Поймбеф. Торвальдс переглянув його пропозицію і додав свої правки, щоб зробити патч швидшим. «Тестовий робот ядра повідомляє про покращення тесту per_thread_ops на 2,6%», — написав він у коміті.
Версія засновника та першого розробника Linux уникає використання API barrier_nospec(), який запобігає спекулятивному виконанню деякого машинного коду. Спекулятивне виконання — це особливість сучасних процесорів, які використовують передбачення розгалужень (branch prediction), щоб спробувати спрогнозувати, який програмний код буде запущено до того, як це буде потрібно. Процесор це робить для того, щоб запускати та кешувати результати заздалегідь. Якщо прогноз правильний, це економить час запуску. Якщо прогноз невірний, то результати відкидаються. Єдина проблема виникає в тому, що подібні дії погіршують безпеку.
Хоча патч не можна назвати критичним для Linux, але випадок з комітом у 21 рядок коду демонструє, чому Торвальдс досі отримує більше $1 мільйона на рік від Linux Foundation. Не так багато людей мають його рівень технічних знань, особливо архітектури x86, а з тих, хто має, більшість працює на великих постачальників мікросхем.
Favbet Tech – це ІТ-компанія зі 100% українською ДНК, що створює досконалі сервіси для iGaming і Betting з використанням передових технологій та надає доступ до них. Favbet Tech розробляє інноваційне програмне забезпечення через складну багатокомпонентну платформу, яка здатна витримувати величезні навантаження та створювати унікальний досвід для гравців.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: