diff options
| author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2011-07-29 12:11:01 -0400 |
|---|---|---|
| committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2011-07-29 12:11:01 -0400 |
| commit | 6d2ae786660c87ab704e615f68843d21be70c37e (patch) | |
| tree | b9538a99f1f3083edaf2cf738653ef306baa4dff | |
| parent | 38c8f0ad0b5fafbdf6f956eb6c489710e56f569f (diff) | |
Add script for extracting locking overheads.
| -rwxr-xr-x | split-locks | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/split-locks b/split-locks new file mode 100755 index 0000000..b0a8bed --- /dev/null +++ b/split-locks | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | #!/bin/bash | ||
| 2 | |||
| 3 | SPLITTER=ft2csv | ||
| 4 | |||
| 5 | EVENTS="LOCK UNLOCK READ_LOCK READ_UNLOCK SYSCALL_IN SYSCALL_OUT" | ||
| 6 | |||
| 7 | |||
| 8 | OPTS="-r" | ||
| 9 | EXT=bin | ||
| 10 | |||
| 11 | function do_split() { | ||
| 12 | printf "\n[$NUM/$TOTAL] Splitting $1\n" | ||
| 13 | for E in $EVENTS; do | ||
| 14 | EP=${E/_/-} | ||
| 15 | WHERE=`basename "$1" | sed -e 's/.ft//' -e 's/_idx=[^_]*'// ` | ||
| 16 | TARGET="${WHERE}_overhead=$EP.$EXT" | ||
| 17 | echo $1 $E ">>" $TARGET | ||
| 18 | $SPLITTER $OPTS $E "$1" >> $TARGET | ||
| 19 | done | ||
| 20 | } | ||
| 21 | |||
| 22 | if [ ! -f "$1" ]; then | ||
| 23 | echo "Usage: split-locks <file.ft>+" | ||
| 24 | exit 1 | ||
| 25 | fi | ||
| 26 | |||
| 27 | TOTAL=$# | ||
| 28 | NUM=0 | ||
| 29 | |||
| 30 | |||
| 31 | while [ "" != "$*" ] | ||
| 32 | do | ||
| 33 | NUM=$((NUM + 1)) | ||
| 34 | do_split "$1" | ||
| 35 | shift | ||
| 36 | done | ||
