Я пытаюсь использовать инструкцию WBINV для Linux, чтобы очистить кэш L1 процессора.
Следующая программа компилируется, но выдает ошибку сегментации при попытке запустить ее.
int main() {asm ("wbinvd"); return 1;}
Я использую gcc 4.4.3 и запускаю ядро Linux 2.6.32-33 на своем компьютере x86.
Информация о процессоре: Процессор Intel® Core ™ 2 Duo T5270 @ 1,40 ГГц
Я построил программу следующим образом:
$ gcc
$ ./a.out
Ошибка сегментации
Может кто-нибудь сказать мне, что я делаю не так? Как мне заставить это работать?
P.S .: Я провожу несколько тестов производительности и хочу убедиться, что предыдущее содержимое кэша процессора не влияет на результаты.