X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=linux-tests%2Fplot_data.sh;h=e7482bc49f8650fece50e9d9e1defffd6616fb32;hb=eb12d56bfe85288734475bb9374773fd560619d9;hp=a7df698a5249298f10785e5c3ac38a1cdb899a2c;hpb=0e574e5047f4376cc2fa22962c7f2df012a089a9;p=yaffs2.git diff --git a/linux-tests/plot_data.sh b/linux-tests/plot_data.sh index a7df698..e7482bc 100755 --- a/linux-tests/plot_data.sh +++ b/linux-tests/plot_data.sh @@ -7,6 +7,8 @@ log_file=data gather_delay=1 +done_file=plot_done + # Plot settings trunc_file=trunc_data plot_samples=1000 @@ -14,18 +16,39 @@ plot_delay=2 + + # Gathering task gather_data() { i=0; rm -f $log_file -while true; do -str=$(cat /proc/yaffs_stats) -echo "$i, $str" -echo "$i, $str" >> $log_file -let i=$i+1 -sleep $gather_delay +while [ ! -e $done_file ] ; do + xx='1' + erased_blocks='2' + while [ "$xx" != "$erased_blocks" ] ; do + xx=$(cat /proc/yaffs | grep n_erased_blocks | cut -d ' ' -f 2) + erased_blocks=$(cat /proc/yaffs | grep n_erased_blocks | cut -d ' ' -f 2) + if [ -z "$xx" ] ; then + xx='bad value' + fi + done + xx='1' + free_chunks='2' + while [ "$xx" != "$free_chunks" ] ; do + xx=$(cat /proc/yaffs | grep n_free_chunks | cut -d ' ' -f 2) + free_chunks=$(cat /proc/yaffs | grep n_free_chunks | cut -d ' ' -f 2) + if [ -z "$xx" ] ; then + xx='bad value' + fi + done + erased_chunks=$(($erased_blocks*64)) + str=" $i, 0, $free_chunks, $erased_chunks" + echo $str + echo $str >> $log_file + i=$(($i+1)) + sleep $gather_delay done } @@ -40,11 +63,14 @@ tail -$plot_samples $log_file > $trunc_file plot_str=" plot '$trunc_file' using 1:3 with linespoints title 'free', '' using 1:4 with linespoints title 'erased'" -echo "set title 'yaffs free space and erased space'" +echo "set title 'yaffs free space vs erased space'" +echo "set xlabel 'seconds'" +echo "set ylabel 'chunks'" + echo $plot_str -while true; do +while [ ! -e $done_file ]; do sleep $plot_delay tail -$plot_samples $log_file > $trunc_file echo replot @@ -52,9 +78,15 @@ done } +rm -f $done_file +trap "touch $done_file" INT echo "Start gathering task in background" gather_data & echo "Run plotting task" drive_gnuplot | gnuplot +wait + +echo "All done" +