Messages in this thread | | | Subject | Re: 2.9test9-mm1 and DAO ATAPI cd-burning corrupt | From | Martin Josefsson <> | Date | Thu, 06 Nov 2003 19:49:27 +0100 |
| |
On Thu, 2003-11-06 at 15:38, Prakash K. Cheemplavam wrote: > Ok, I found the bugger: It *IS* the sheduler. I tried elevator=deadline > and all stuttering went away. Before I was using as. mm1 used default > sheduler (as I think) and ther eno probs. So the (updated?) as sheduler > in mm2 has a problem...
Can you run the attached script when you repeat the test? With both elevator=deadline and without.
./diskstat.sh hdc
Your problem sounds a little like the one I'm seeing, only I'm seeing it with both deadline and as. I can't really see if I'm loosing timer-interrupts or not since the only way I've found to reproduce it is to recieve a file via network and write it to disk, and that generates lots of interrupts...
-- /Martin #/bin/bash
num=0 for loop in a b c d e f g h i j k do old[$num]=0 num=$(($num + 1)) done
row=0
while true; do grep "$1 " /proc/diskstats | awk '{print $4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14}'; sleep 1; done | while read a b c d e f g h i j k do if [ $(($row % 30)) == 0 ]; then #echo -e "row\treads\trmerge\trsect\trms\t\twrites\twmerge\twsect\twms\t\tio\tms\tms2" echo -e "row\treads\trmerge\trsect\trms\twrites\twmerge\twsect\twms\tio\tms\tms2" fi row=$(($row + 1))
num=0 for loop in a b c d e f g h i j k do if [ ${old[$num]} == 0 ]; then old[$num]=${!loop} diff[$num]=0 else diff[$num]=$((${!loop} - ${old[$num]})) old[$num]=${!loop} fi num=$(($num + 1)) done
echo -e "$row\t${diff[0]}\t${diff[1]}\t${diff[2]}\t${diff[3]}\t${diff[4]}\t${diff[5]}\t${diff[6]}\t${diff[7]}\t$i\t${diff[9]}\t${diff[10]}" done [unhandled content-type:application/pgp-signature] | |