07-24-2023, 11:55 AM
I'm trying to use the WBINV instruction on linux to clear the processor's L1 cache.
The following program compiles, but produces a segmentation fault when I try to run it.
`int main() {asm ("wbinvd"); return 1;}`
I'm using gcc 4.4.3 and run Linux kernel 2.6.32-33 on my x86 box.
Processor info: Intel® Core2 Duo CPU T5270 @ 1.40GHz
I built the program as follows:
$ gcc <program_name>
$ ./a.out
Segmentation Fault
Can somebody tell me what I'm doing wrong? How do I get this to run?
P.S: I'm running a few performance tests and want to ensure that the previous content of the processor cache does not influence the results.
The following program compiles, but produces a segmentation fault when I try to run it.
`int main() {asm ("wbinvd"); return 1;}`
I'm using gcc 4.4.3 and run Linux kernel 2.6.32-33 on my x86 box.
Processor info: Intel® Core2 Duo CPU T5270 @ 1.40GHz
I built the program as follows:
$ gcc <program_name>
$ ./a.out
Segmentation Fault
Can somebody tell me what I'm doing wrong? How do I get this to run?
P.S: I'm running a few performance tests and want to ensure that the previous content of the processor cache does not influence the results.