Функция сбрасывает кэш не только тогда, когда это необходимо, но и по «приказу» любого приложения.
Создатель ядра Linux Линус Торвальдс выступил против добавления в версию ядра Linux 5.8 функции сброса кэша данных L1 при переключении контекста. Эта функция была предложена в качестве защиты от уязвимостей класса Spectre и других утечек из кэша.
Загвоздка заключается в том, что функция сбрасывает кэш не только тогда, когда это необходимо, но и по «приказу» любого приложения. В таких многозадачных ОС, как дистрибутивы Linux, при этом будет падать производительность не только самого приложения, но и остальных процессов. Безусловно, такое положение дел не подходит для высоконагруженных серверных систем. По мнению Торвальса, сброс кэша L1 имеет смысл только для процессоров Intel, а там, где он не требуется, функция будет лишней.
На самом деле, по своему обыкновению создатель ядра Linux выразился намного образнее. «Я не хочу, чтобы некоторые приложения считали "о, я такое особенное и красивое, и вообще такой цветочек аленький, что хочу смывать L1D при каждом переключении задачи, независимо от того, на каком ЦП я запущено и от того, есть ли вообще проблема"», - заявил Торвальдс.
Ответственным за патч со сбросом данных из L1 при смене контекстов является разработчик из Amazon. Тем не менее, ни он, ни представители Intel, пока никак не комментируют предложенную функцию. Действительно ли она настолько необходима и эффективна, они также не уточняют.
Одно найти легче, чем другое. Спойлер: это не темная материя