diff options
author | Joshua Bakita <jbakita@cs.unc.edu> | 2022-09-13 02:52:43 -0400 |
---|---|---|
committer | Joshua Bakita <jbakita@cs.unc.edu> | 2022-09-13 02:52:43 -0400 |
commit | 7741a500c1da6d534c6b0aeac78531212b743236 (patch) | |
tree | 3306c867f367d507e870bd0dd4216cb2c181b08d | |
parent | aef45d67ef9a662329a8a9e555e341dd79c6a86a (diff) |
Fix some privilege bugs with fig10_experiments.shrtss22-ae
-rwxr-xr-x[-rw-r--r--] | fig10_experiments.sh | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/fig10_experiments.sh b/fig10_experiments.sh index b35caf9..5d48235 100644..100755 --- a/fig10_experiments.sh +++ b/fig10_experiments.sh | |||
@@ -1,24 +1,29 @@ | |||
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | # May ask for sudo to drop caches between CPU paging experiments | 2 | # Needs sudo to drop caches between CPU paging experiments |
3 | # DO NOT execute this whole script as sudo | ||
4 | if [ $# -eq 0 ]; then | 3 | if [ $# -eq 0 ]; then |
5 | echo "Usage: $0 <number of sampling iterations>" | 4 | echo "Usage: $0 <number of sampling iterations>" |
6 | exit | 5 | exit |
7 | fi | 6 | fi |
8 | 7 | ||
8 | if [ "$EUID" != 0 ]; then | ||
9 | sudo "$0" "$@" | ||
10 | exit $? | ||
11 | fi | ||
12 | |||
9 | iters=$1 | 13 | iters=$1 |
10 | 14 | ||
11 | echo "Running GPU paging experiments..." | 15 | echo "Running GPU paging experiments..." |
12 | gpu_times=$(date +"%b%d-%H")-gpu-times.tsv | 16 | gpu_times=$(date +"%b%d-%H")-gpu-times.tsv |
13 | echo "# Generated by './fig10_experiments.sh' with $iters iters" > $gpu_times | 17 | echo "# Generated by './fig10_experiments.sh' with $iters iters" > $gpu_times |
14 | for ((i = 1; i <= $iters; i++)); do ./gpu_paging_speed | tr -cd '[[:digit:]]\t\n' | sed "/\t$/d"; done >> $gpu_times | 18 | # GPU paging needs to be run as a non-root user |
19 | for ((i = 1; i <= $iters; i++)); do sudo -u ae ./gpu_paging_speed | tr -cd '[[:digit:]]\t\n' | sed "/\t$/d"; done >> $gpu_times | ||
15 | 20 | ||
16 | echo "Done. Running direct I/O experiments..." | 21 | echo "Done. Running direct I/O experiments..." |
17 | directio_times=$(date +"%b%d-%H")-directio-times.tsv | 22 | directio_times=$(date +"%b%d-%H")-directio-times.tsv |
18 | sudo ./directio_paging_speed $iters > $directio_times | 23 | ./directio_paging_speed $iters > $directio_times |
19 | 24 | ||
20 | echo "Done. Running demand paging experiments..." | 25 | echo "Done. Running demand paging experiments..." |
21 | demand_paging_times=$(date +"%b%d-%H")-demand-paging-times.tsv | 26 | demand_paging_times=$(date +"%b%d-%H")-demand-paging-times.tsv |
22 | sudo ./demand_paging_speed $iters > $demand_paging_times | 27 | ./demand_paging_speed $iters > $demand_paging_times |
23 | 28 | ||
24 | echo "Done! Results are saved in $gpu_times, $directio_times, and $demand_paging_times" | 29 | echo "Done! Results are saved in $gpu_times, $directio_times, and $demand_paging_times" |