| #!/usr/bin/awk -f |
| # |
| # Usage: $0 mm/filemap.c.gcov | sort -nr -k4 |
| |
| BEGIN { |
| FS = ":" |
| exec_count = "0" |
| func_name = "" |
| } |
| |
| /[0-9-]+: +[0-9]+:[a-z].*\(.*/ { |
| match($3, /([a-zA-Z_0-9]+)\(/) |
| exec_count = $1 |
| func_name = substr($3, RSTART, RLENGTH-1) |
| } |
| |
| /spin_lock/ { |
| if ($1 > 10000) { |
| sub(/.gcov$/, "", FILENAME) |
| sub(/.*\//, "", FILENAME) |
| sub(/[ \t]+/, "", $2) |
| sub(/[ \t]+/, "", $3) |
| printf "%-20s%6s%12s%12s%40s %s\n", |
| FILENAME, # file name |
| $2, # line number |
| exec_count, # func count |
| $1, # lock count |
| func_name, # func name |
| $3 # lock expr |
| } |
| } |