Инструкция LFENCE ожидает фиксации всех предыдущих операций чтения из памяти и запрещает упреждающее выполнение следующих после LFENCE инструкций, до того как фиксация будет завершена. Применение LFENCE приводит к существенному снижению производительности, поэтому защиту предлагается применять в крайних случаях для особо критичного кода. Помимо полной защиты патч предлагает три флага, позволяющих выборочно отключить определённые уровни защиты для снижения негативного влияния на производительность.
В проведённых тестах применение защиты для пакета BoringSSL привело к снижению числа выполняемых библиотекой операций в секунду в 14 раз — производительность собранного с защитой варианта библиотеки в среднем оказалась всего 7.1% от показателей незащищённого варианта (разброс в зависимости от теста от 4% до 23%). Для сравнения, предложенный ранее для GNU Assembler механизм, осуществляющий подстановку LFENCE после каждой операции загрузки из памяти и перед некоторыми инструкциями ветвления, показал снижение производительности примерно в 5 раз (22% от кода без зашиты). Изначально исследователи, выявившие атаку LVI, прогнозировали снижение производительности при применении полной защиты в 2-19 раз.
Источник: http://www.opennet.ru/opennews/art.shtml?num=52581