reduce TLB noise with SLUBstick
This commit is contained in:
parent
c3e73744f2
commit
ee499cb647
2 changed files with 64 additions and 7 deletions
code
23
code/timing.c
Normal file
23
code/timing.c
Normal file
|
@ -0,0 +1,23 @@
|
|||
#include <stdlib.h>
|
||||
|
||||
inline size_t
|
||||
rdtsc_begin(void)
|
||||
{
|
||||
size_t a, d;
|
||||
asm volatile("mfence");
|
||||
asm volatile("rdtsc" : "=a"(a), "=d"(d));
|
||||
a = (d << 32) | a;
|
||||
asm volatile("lfence");
|
||||
return a;
|
||||
}
|
||||
|
||||
inline size_t
|
||||
rdtsc_end(void)
|
||||
{
|
||||
size_t a, d;
|
||||
asm volatile("lfence");
|
||||
asm volatile("rdtsc" : "=a"(a), "=d"(d));
|
||||
a = (d << 32) | a;
|
||||
asm volatile("mfence");
|
||||
return a;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue