Re: 2.9test9-mm1 and DAO ATAPI cd-burning corrupt
From: Martin Josefsson
Date: Thu Nov 06 2003 - 13:50:33 EST
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
Attachment:
signature.asc
Description: This is a digitally signed message part