title: WBINVD instruction usage
body: <p>I'm trying to use the WBINV instruction on linux to clear the processor's L1 cache.</p>
  
  <p>The following program compiles, but produces a segmentation fault when I try to run it.</p>
  
  <p><code>int main() {asm ("wbinvd"); return 1;}</code></p>
  
  <p>I'm using gcc 4.4.3 and run Linux kernel 2.6.32-33 on my x86 box.</p>
  
  <p>Processor info: Intel(R) Core(TM)2 Duo CPU     T5270  @ 1.40GHz</p>
  
  <p>I built the program as follows:</p>
  
  <p>$ gcc </p>
  
  <p>$ ./a.out</p>
  
  <p>Segmentation Fault</p>
  
  <p>Can somebody tell me what I'm doing wrong? How do I get this to run?</p>
  
  <p>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. </p>