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