blob: 0b21f6ff49a4937b2a80610adb5e4624d8c45f01 [file] [log] [blame]
#!/bin/bash
# This script generates large function intended to
# cause as many iTLB misses as possible.
# Number of instructions:
# 4k - page size
# x 64 - supposed number of TLB entires
# x 2 - executing a function sized page_size * tlb_entry_count multiple
# times would cause tlb misses only on the first call and tlb entries
# would be valid for each next call. Doubling the size of the function
# guarantees invalidating tlb entires and thus causing tlb misses.
echo "void iTLB_bechmark_function() {"
echo " int a = 0, b = 0;"
for (( c=0; c < (1 << 18) ; c++ )) ; do
echo " a = b + 1;"
echo " b = a + 1;"
done
echo "}"