Summary: with bleedin edge kernel first process accessing raid
is struck at R state and after that processes are struc at D
state. Not always repeatable. Try with bonnie -s 2047.
Kernel is v2.2.2pre2 with 2.2.1.uniform-ide-6.19.patch,
raid0145-19990128-2.2.0, and Stephen C. Tweedie's
<[EMAIL PROTECTED]> to enable running
bonnie at raid. Guess this is not so good.
I noticed problem when I made a script to make new raid with
differend parameters and run bonnie with different sizes on it.
And to complify the issue, processes are not struck at R state,
they get some processor power, but seems all processes accessing
raid are struck. And every process accessing raid is struc at D
state. ls is struck at getdents.
This has happened 2 times now, first was block size 1k chunk
size 4k (bonnie -s 1000). And now with block 1k and chunk 64k.
Couple of hours before
623 a1 R N 17:36 bonnie -s 2047
Now
623 a1 R N 17:40 bonnie -s 2047
759 a1 D 0:00 ls -ltr /mnt/raid/
Now I need some help to debug this. Enyone else seeing this?
dmesg
------------------------------------------------------------------------
Linux version 2.2.2 (root@localhost) (gcc version 2.7.2.3) #1 Sun Feb 7 01:19:38 EET
1999
Detected 300683455 Hz processor.
Console: colour VGA+ 80x25
Allocating 320KB for IO-trace ringbuffer
Calibrating delay loop... 599.65 BogoMIPS
Memory: 127712k/131072k available (848k kernel code, 408k reserved, 2068k data, 36k
init)
VFS: Diskquotas version dquot_6.4.0 initialized
CPU: AMD AMD-K6(tm) 3D processor stepping 00
Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
PCI: PCI BIOS revision 2.10 entry at 0xfb210
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: 00:38 [1106/0586]: Work around ISA DMA hangs (00)
Activating ISA DMA hang workarounds.
Linux NET4.0 for Linux 2.2
Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0 for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
Initializing RT netlink socket
Starting kswapd v 1.5
Serial driver version 4.27 with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
Real Time Clock Driver v1.09
Uniform Multi-Platform E-IDE driver Revision: 6.19
VP_IDE: IDE controller on PCI bus 00 dev 39
VP_IDE: not 100% native mode: will probe irqs later
Split FIFO Configuration: 8 Primary buffers, threshold = 1/2
8 Second. buffers, threshold = 1/2
ide0: BM-DMA at 0xc000-0xc007, BIOS settings: hda:DMA, hdb:DMA
ide0: VIA Bus-Master (U)DMA Timing Config Success
ide1: BM-DMA at 0xc008-0xc00f, BIOS settings: hdc:DMA, hdd:DMA
ide1: VIA Bus-Master (U)DMA Timing Config Success
PDC20246: IDE controller on PCI bus 00 dev 48
PDC20246: not 100% native mode: will probe irqs later
PDC20246: ROM enabled at 0xe9000000
PDC20246: (U)DMA Burst Bit ENABLED Primary PCI Mode Secondary PCI Mode.
ide2: BM-DMA at 0xd800-0xd807, BIOS settings: hde:DMA, hdf:DMA
ide3: BM-DMA at 0xd808-0xd80f, BIOS settings: hdg:DMA, hdh:DMA
keyboard: Too many NACKs -- noisy kbd cable?
keyboard: Too many NACKs -- noisy kbd cable?
hda: FUJITSU MPC3032AT, ATA DISK drive
hdc: IBM-DTTA-351350, ATA DISK drive
hde: IBM-DTTA-351350, ATA DISK drive
hdf: IBM-DTTA-351350, ATA DISK drive
hdg: IBM-DTTA-351350, ATA DISK drive
hdh: IBM-DTTA-351350, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
ide2 at 0xc800-0xc807,0xcc06 on irq 10
ide3 at 0xd000-0xd007,0xd406 on irq 10
hda: FUJITSU MPC3032AT, 3093MB w/0kB Cache, CHS=785/128/63, UDMA
hdc: IBM-DTTA-351350, 8063MB w/464kB Cache, CHS=16383/16/63, UDMA
hde: IBM-DTTA-351350, 8063MB w/464kB Cache, CHS=16383/16/63, UDMA
hdf: IBM-DTTA-351350, 8063MB w/464kB Cache, CHS=16383/16/63, UDMA
hdg: IBM-DTTA-351350, 8063MB w/464kB Cache, CHS=16383/16/63, UDMA
hdh: IBM-DTTA-351350, 8063MB w/464kB Cache, CHS=16383/16/63, UDMA
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
md driver 0.90.0 MAX_MD_DEVS=256, MAX_REAL=12
raid5 personality registered
raid5: measuring checksumming speed
raid5: using high-speed MMX checksum routine
pII_mmx : 650.748 MB/sec
p5_mmx : 574.548 MB/sec
8regs : 456.438 MB/sec
32regs : 309.372 MB/sec
using fastest function: pII_mmx (650.748 MB/sec)
Partition check:
hda: hda1 hda2 < hda5 hda6 hda7 hda8 >
hdc: hdc1
hde: hde1
hdf: hdf1
hdg: hdg1
hdh: hdh1
autodetecting RAID arrays
(read) hdc1's sb offset: 13207168 [events: 00000002]
(read) hde1's sb offset: 13207168 [events: 00000002]
(read) hdf1's sb offset: 13207168 [events: 00000002]
(read) hdg1's sb offset: 13207168 [events: 00000002]
(read) hdh1's sb offset: 13207168 [events: 00000002]
autorun ...
considering hdh1 ...
adding hdh1 ...
adding hdg1 ...
adding hdf1 ...
adding hde1 ...
adding hdc1 ...
created md0
bind<hdc1,1>
bind<hde1,2>
bind<hdf1,3>
bind<hdg1,4>
bind<hdh1,5>
running: <hdh1><hdg1><hdf1><hde1><hdc1>
now!
hdh1's event counter: 00000002
hdg1's event counter: 00000002
hdf1's event counter: 00000002
hde1's event counter: 00000002
hdc1's event counter: 00000002
md0: max total readahead window set to 512k
md0: 4 data-disks, max readahead per data-disk: 128k
raid5: device hdh1 operational as raid disk 4
raid5: device hdg1 operational as raid disk 3
raid5: device hdf1 operational as raid disk 2
raid5: device hde1 operational as raid disk 1
raid5: device hdc1 operational as raid disk 0
raid5: allocated 5299kB for md0
raid5: raid level 5 set md0 active with 5 out of 5 devices, algorithm 2
RAID5 conf printout:
--- rd:5 wd:5 fd:0
disk 0, s:0, o:1, n:0 rd:0 us:1 dev:hdc1
disk 1, s:0, o:1, n:1 rd:1 us:1 dev:hde1
disk 2, s:0, o:1, n:2 rd:2 us:1 dev:hdf1
disk 3, s:0, o:1, n:3 rd:3 us:1 dev:hdg1
disk 4, s:0, o:1, n:4 rd:4 us:1 dev:hdh1
disk 5, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 6, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 7, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 8, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 9, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 10, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 11, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
RAID5 conf printout:
--- rd:5 wd:5 fd:0
disk 0, s:0, o:1, n:0 rd:0 us:1 dev:hdc1
disk 1, s:0, o:1, n:1 rd:1 us:1 dev:hde1
disk 2, s:0, o:1, n:2 rd:2 us:1 dev:hdf1
disk 3, s:0, o:1, n:3 rd:3 us:1 dev:hdg1
disk 4, s:0, o:1, n:4 rd:4 us:1 dev:hdh1
disk 5, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 6, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 7, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 8, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 9, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 10, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 11, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
md: updating md0 RAID superblock on device
hdh1 [events: 00000003](write) hdh1's sb offset: 13207168
hdg1 [events: 00000003](write) hdg1's sb offset: 13207168
hdf1 [events: 00000003](write) hdf1's sb offset: 13207168
hde1 [events: 00000003](write) hde1's sb offset: 13207168
hdc1 [events: 00000003](write) hdc1's sb offset: 13207168
.
... autorun DONE.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 36k freed
Adding Swap: 130748k swap-space (priority -1)
------------------------------------------------------------------------
tst_raid
------------------------------------------------------------------------
#!/bin/sh
# Test raid, Markus Linnala <[EMAIL PROTECTED]> February 8 1999
#set -x
PATH=$PATH:/sbin:/usr/sbin
DEV=/dev/md0
MNT=/mnt/raid
LOGPREFIX=/tmp/BT1_ide_6_19_raid_0_90
export inode block chunk stride DEV MNT LOGPREFIX MKFS_PARAMS
function do_bonnie () {
#1 2 4 8 16 32 64 100 128 200 256 300 400 500 512 600 700 800 900 1000 1024 1500 2000
2047
(
cd $MNT
for a in 8 16 32 64 100 200 300 400 500 700 1000 1500 2047
do
sync
bonnie -s $a
done) | tee $LOGPREFIX.$inode.$block.$chunk
}
function do_start () {
echo "Start"
mkraid --really-force $DEV
raidstart $DEV
mke2fs $MKFS_PARAMS $DEV
mount $DEV $MNT
}
function do_stop () {
echo "Stop"
umount $DEV
raidstop -a $DEV
}
function do_raidtab () {
echo "Raidtab"
perl -pe 's/\@CS\@/$ENV{chunk}/' < /etc/raidtab.in > /etc/raidtab
}
function do_main () {
cd /
for inode in 4096 16384; do
for block in 1024 2048 4096; do
for chunk in 16 64 256;do
stride=`expr $chunk \* 1024 \/ $block`
MKFS_PARAMS="-i $inode -b $block -R stride=$stride"
do_raidtab
do_start
do_bonnie
do_stop
done
done
done
}
do_main
------------------------------------------------------------------------
--
//Markus