kernel: 2.6.27.12-all_patches - all scst patches #cat /sys/block/sdb/queue/scheduler noop anticipatory deadline [cfq] #cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] #free total used free shared buffers cached Mem: 508180 502448 5732 0 430704 27740 -/+ buffers/cache: 44004 464176 Swap: 0 0 0 scst: Using security group "Default" for initiator "iqn.1996-04.de.suse:01:aadab8bc4be5" iscsi-scst: Negotiated parameters: InitialR2T No, ImmediateData Yes, MaxConnections 1, MaxRecvDataSegmentLength 1048576, MaxXmitDataSegmentLength 131072, iscsi-scst: MaxBurstLength 1048576, FirstBurstLength 262144, DefaultTime2Wait 2, DefaultTime2Retain 0, iscsi-scst: MaxOutstandingR2T 1, DataPDUInOrder Yes, DataSequenceInOrder Yes, ErrorRecoveryLevel 0, iscsi-scst: HeaderDigest None, DataDigest None, OFMarker No, IFMarker No, OFMarkInt 2048, IFMarkInt 2048 #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 102 MB/s b) 102 MB/s c) 102 MB/s #dd if=/dev/sdc of=/dev/null bs=64K count=80000 a) 74,3 MB/s b) 74,5 MB/s c) 74,4 MB/s Run at the same time: #while true; do dd if=/dev/sdc of=/dev/null bs=64K; done #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 21,6 MB/s b) 22,8 MB/s c) 24,1 MB/s d) 23,1 MB/s ------------------------------------------------------------------------ kernel: 2.6.27.12-except_export_alloc - all scst patches, except export_alloc_io_context.patch # cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] # cat /sys/block/sdb/queue/scheduler noop anticipatory deadline [cfq] scst: Using security group "Default" for initiator "iqn.1996-04.de.suse:01:aadab8bc4be5" iscsi-scst: Negotiated parameters: InitialR2T No, ImmediateData Yes, MaxConnections 1, MaxRecvDataSegmentLength 1048576, MaxXmitDataSegmentLength 131072, iscsi-scst: MaxBurstLength 1048576, FirstBurstLength 262144, DefaultTime2Wait 2, DefaultTime2Retain 0, iscsi-scst: MaxOutstandingR2T 1, DataPDUInOrder Yes, DataSequenceInOrder Yes, ErrorRecoveryLevel 0, iscsi-scst: HeaderDigest None, DataDigest None, OFMarker No, IFMarker No, OFMarkInt 2048, IFMarkInt 2048 #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 48,6 MB/s b) 49,2 MB/s c) 48,9 MB/s #dd if=/dev/sdc of=/dev/null bs=64K count=80000 a) 48,3 MB/s b) 48,5 MB/s c) 47,9 MB/s Run at the same time: #while true; do dd if=/dev/sdc of=/dev/null bs=64K; done #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 4,2 MB/s b) 3,9 MB/s c) 4,1 MB/s --------------------------------------------------------------- kernel: uname -r 2.6.27.12-readahead - all scst patches + readahead-context.patch default /dev/md0 readahead = 512 linux-4dtq:~ # linux-4dtq:~ # linux-4dtq:~ # cat /sys/block/sdb/queue/scheduler noop anticipatory deadline [cfq] linux-4dtq:~ # cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] linux-4dtq:~ # blockdev --setra 1024 /dev/sda linux-4dtq:~ # blockdev --setra 1024 /dev/sdb linux-4dtq:~ # echo 1 > /sys/block/sda/queue/context_readahead linux-4dtq:~ # echo 1 > /sys/block/sdb/queue/context_readahead linux-4dtq:~ # cat /sys/block/sdb/queue/context_readahead 1 linux-4dtq:~ # cat /sys/block/sda/queue/context_readahead 1 linux-4dtq:~ # blockdev --getra /dev/md0 256 linux-4dtq:~ # mdadm --assemble /dev/md0 /dev/sd[ab] mdadm: /dev/md/0 has been started with 2 drives. linux-4dtq:~ # vgchange -a y 3 logical volume(s) in volume group "raid" now active linux-4dtq:~ # blockdev --getra /dev/md0 512 linux-4dtq:~ # free total used free shared buffers cached Mem: 508168 104480 403688 0 4516 64632 -/+ buffers/cache: 35332 472836 Swap: 0 0 0 scst: Using security group "Default" for initiator "iqn.1996-04.de.suse:01:aadab8bc4be5" iscsi-scst: Negotiated parameters: InitialR2T No, ImmediateData Yes, MaxConnections 1, MaxRecvDataSegmentLength 1048576, MaxXmitDataSegmentLength 131072, iscsi-scst: MaxBurstLength 1048576, FirstBurstLength 262144, DefaultTime2Wait 2, DefaultTime2Retain 0, iscsi-scst: MaxOutstandingR2T 1, DataPDUInOrder Yes, DataSequenceInOrder Yes, ErrorRecoveryLevel 0, iscsi-scst: HeaderDigest None, DataDigest None, OFMarker No, IFMarker No, OFMarkInt 2048, IFMarkInt 2048 #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 96,9 MB/s b) 101 MB/s c) 101, MB/s #dd if=/dev/sdc of=/dev/null bs=64K count=80000 a) 73,9 MB/s b) 74,1 MB/s c) 73,3 MB/s Run at the same time: #while true; do dd if=/dev/sdc of=/dev/null bs=64K; done #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 22,1 MB/s b) 21,6 MB/s c) 21,1 MB/s ----------------------------------------------------------------------------------- kernel: uname -r 2.6.27.12-readahead - all scst patches + readahead-context.patch set: /dev/md0 readahead = 1024 linux-4dtq:~ # blockdev --setra 1024 /dev/sdb linux-4dtq:~ # blockdev --setra 1024 /dev/sda linux-4dtq:~ # blockdev --setra 1024 /dev/md0 linux-4dtq:~ # echo 1 > /sys/block/sda/queue/context_readahead linux-4dtq:~ # echo 1 > /sys/block/sdb/queue/context_readahead linux-4dtq:~ # cat /sys/block/sdb/queue/context_readahead 1 linux-4dtq:~ # cat /sys/block/sda/queue/context_readahead 1 linux-4dtq:~ # mdadm --assemble /dev/md0 /dev/sd[ab] mdadm: /dev/md/0 has been started with 2 drives. linux-4dtq:~ # vgchange -a y 3 logical volume(s) in volume group "raid" now active linux-4dtq:~ # blockdev --getra /dev/md0 1024 linux-4dtq:~ # cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] linux-4dtq:~ # cat /sys/block/sdb/queue/scheduler noop anticipatory deadline [cfq] scst: Using security group "Default" for initiator "iqn.1996-04.de.suse:01:aadab8bc4be5" iscsi-scst: Negotiated parameters: InitialR2T No, ImmediateData Yes, MaxConnections 1, MaxRecvDataSegmentLength 1048576, MaxXmitDataSegmentLength 131072, iscsi-scst: MaxBurstLength 1048576, FirstBurstLength 262144, DefaultTime2Wait 2, DefaultTime2Retain 0, iscsi-scst: MaxOutstandingR2T 1, DataPDUInOrder Yes, DataSequenceInOrder Yes, ErrorRecoveryLevel 0, iscsi-scst: HeaderDigest None, DataDigest None, OFMarker No, IFMarker No, OFMarkInt 2048, IFMarkInt 2048 #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 102 MB/s b) 100 MB/s c) 104 MB/s #dd if=/dev/sdc of=/dev/null bs=64K count=80000 a) 74,1 MB/s b) 73,7 MB/s c) 74,0 MB/s Run at the same time: #while true; do dd if=/dev/sdc of=/dev/null bs=64K; done #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 22,0 MB/s b) 21,5 MB/s c) 22,9 MB/s ------------------------------------------------------------------------ kernel: uname -r 2.6.27.12-readahead - all scst patches + readahead-context.patch set: /dev/md0 readahead = 2048 linux-4dtq:~ # cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] linux-4dtq:~ # cat /sys/block/sdb/queue/scheduler noop anticipatory deadline [cfq] linux-4dtq:~ # echo 1 > /sys/block/sdb/queue/context_readahead linux-4dtq:~ # echo 1 > /sys/block/sda/queue/context_readahead linux-4dtq:~ # blockdev --setra 1024 /dev/sda linux-4dtq:~ # blockdev --setra 1024 /dev/sdb linux-4dtq:~ # blockdev --setra 2048 /dev/md0 linux-4dtq:~ # mdadm --assemble /dev/md0 /dev/sd[ab] mdadm: /dev/md/0 has been started with 2 drives. linux-4dtq:~ # vgchange -a y 3 logical volume(s) in volume group "raid" now active linux-4dtq:~ # cat /sys/block/sdb/queue/context_readahead 1 linux-4dtq:~ # cat /sys/block/sda/queue/context_readahead 1 linux-4dtq:~ # blockdev --getra /dev/md0 2048 scst: Using security group "Default" for initiator "iqn.1996-04.de.suse:01:aadab8bc4be5" iscsi-scst: Negotiated parameters: InitialR2T No, ImmediateData Yes, MaxConnections 1, MaxRecvDataSegmentLength 1048576, MaxXmitDataSegmentLength 131072, iscsi-scst: MaxBurstLength 1048576, FirstBurstLength 262144, DefaultTime2Wait 2, DefaultTime2Retain 0, iscsi-scst: MaxOutstandingR2T 1, DataPDUInOrder Yes, DataSequenceInOrder Yes, ErrorRecoveryLevel 0, iscsi-scst: HeaderDigest None, DataDigest None, OFMarker No, IFMarker No, OFMarkInt 2048, IFMarkInt 2048 #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 103 MB/s b) 102 MB/s c) 102 MB/s #dd if=/dev/sdc of=/dev/null bs=64K count=80000 a) 73,7 MB/s b) 74,1 MB/s c) 74,3 MB/s Run at the same time: #while true; do dd if=/dev/sdc of=/dev/null bs=64K; done #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 20,1 MB/s b) 21,5 MB/s c) 21,8 MB/s --------------------------------------------------- Kernel uname -r: 2.6.27.12-readahead readahead set to: 4M linux-4dtq:~ # cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] linux-4dtq:~ # cat /sys/block/sdb/queue/scheduler noop anticipatory deadline [cfq] linux-4dtq:~ # blockdev --setra 4096 /dev/sda linux-4dtq:~ # blockdev --setra 4096 /dev/sdb linux-4dtq:~ # blockdev --getra /dev/sdb 4096 linux-4dtq:~ # blockdev --getra /dev/sda 4096 inux-4dtq:~ # echo 1 > /sys/block/sdb/queue/context_readahead linux-4dtq:~ # echo 1 > /sys/block/sda/queue/context_readahead linux-4dtq:~ # cat /sys/block/sdb/queue/context_readahead 1 linux-4dtq:~ # cat /sys/block/sda/queue/context_readahead 1 linux-4dtq:~ # mdadm --assemble /dev/md0 /dev/sd[ab] mdadm: /dev/md/0 has been started with 2 drives. linux-4dtq:~ # vgchange -a y 3 logical volume(s) in volume group "raid" now active linux-4dtq:~ # cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] linux-4dtq:~ # cat /sys/block/sdb/queue/scheduler noop anticipatory deadline [cfq] scst: Using security group "Default" for initiator "iqn.1996-04.de.suse:01:aadab8bc4be5" iscsi-scst: Negotiated parameters: InitialR2T No, ImmediateData Yes, MaxConnections 1, MaxRecvDataSegmentLength 1048576, MaxXmitDataSegmentLength 131072, iscsi-scst: MaxBurstLength 1048576, FirstBurstLength 262144, DefaultTime2Wait 2, DefaultTime2Retain 0, iscsi-scst: MaxOutstandingR2T 1, DataPDUInOrder Yes, DataSequenceInOrder Yes, ErrorRecoveryLevel 0, iscsi-scst: HeaderDigest None, DataDigest None, OFMarker No, IFMarker No, OFMarkInt 2048, IFMarkInt 2048 #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 99,4 MB/s b) 96,4 MB/s c) 101 MB/s #dd if=/dev/sdc of=/dev/null bs=64K count=80000 a) 73,5 MB/s b) 74,3 MB/s c) 73,9 MB/s Run at the same time: #while true; do dd if=/dev/sdc of=/dev/null bs=64K; done #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 21,0 MB/s b) 19,8 MB/s c) 22,4 MB/s ------------------------------------------------------------------------ kernel: uname -r 2.6.27.12-except_export+readahead - all scst patches except export_alloc_io_context.patch + readahead-contex.patch default /dev/md0 readahead = 512 linux-4dtq:/.kernels/scst-kernel-4/scstadmin # cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] linux-4dtq:/.kernels/scst-kernel-4/scstadmin # cat /sys/block/sdb/queue/scheduler noop anticipatory deadline [cfq] linux-4dtq:/.kernels/scst-kernel-4/scstadmin # blockdev --getra /dev/sda 1024 linux-4dtq:/.kernels/scst-kernel-4/scstadmin # blockdev --getra /dev/sdb 1024 linux-4dtq:/.kernels/scst-kernel-4/scstadmin # blockdev --getra /dev/md0 512 linux-4dtq:/.kernels/scst-kernel-4/scstadmin # cat /sys/block/sdb/queue/context_readahead 1 linux-4dtq:/.kernels/scst-kernel-4/scstadmin # cat /sys/block/sda/queue/context_readahead 1 scst: Using security group "Default" for initiator "iqn.1996-04.de.suse:01:aadab8bc4be5" iscsi-scst: Negotiated parameters: InitialR2T No, ImmediateData Yes, MaxConnections 1, MaxRecvDataSegmentLength 1048576, MaxXmitDataSegmentLength 131072, iscsi-scst: MaxBurstLength 1048576, FirstBurstLength 262144, DefaultTime2Wait 2, DefaultTime2Retain 0, iscsi-scst: MaxOutstandingR2T 1, DataPDUInOrder Yes, DataSequenceInOrder Yes, ErrorRecoveryLevel 0, iscsi-scst: HeaderDigest None, DataDigest None, OFMarker No, IFMarker No, OFMarkInt 2048, IFMarkInt 2048 #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 47,7 MB/s b) 47,6 MB/s c) 47,6 MB/s #dd if=/dev/sdc of=/dev/null bs=64K count=80000 a) 47,6 MB/s b) 47,2 MB/s c) 46,8 MB/s Run at the same time: #while true; do dd if=/dev/sdc of=/dev/null bs=64K; done #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 3,5 MB/s b) 3,1 MB/s c) 3,5 MB/s ----------------------------------------- kernel: uname -r: 2.6.27.12-except_export+readahead readahead set to: 4M linux-4dtq:~ # cat /sys/block/sdb/queue/scheduler noop anticipatory deadline [cfq] linux-4dtq:~ # cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] linux-4dtq:~ # echo 1 > /sys/block/sda/queue/context_readahead linux-4dtq:~ # echo 1 > /sys/block/sdb/queue/context_readahead linux-4dtq:~ # blockdev --setra 4096 /dev/sdb linux-4dtq:~ # blockdev --setra 4096 /dev/sda linux-4dtq:~ # cat /sys/block/sdb/queue/context_readahead 1 linux-4dtq:~ # cat /sys/block/sda/queue/context_readahead 1 linux-4dtq:~ # blockdev --getra /dev/sda 4096 linux-4dtq:~ # blockdev --getra /dev/sdb 4096 linux-4dtq:~ # mdadm --assemble /dev/md0 /dev/sd[ab] mdadm: /dev/md/0 has been started with 2 drives. linux-4dtq:~ # vgchange -a y 3 logical volume(s) in volume group "raid" now active linux-4dtq:~ # scst: Using security group "Default" for initiator "iqn.1996-04.de.suse:01:aadab8bc4be5" iscsi-scst: Negotiated parameters: InitialR2T No, ImmediateData Yes, MaxConnections 1, MaxRecvDataSegmentLength 1048576, MaxXmitDataSegmentLength 131072, iscsi-scst: MaxBurstLength 1048576, FirstBurstLength 262144, DefaultTime2Wait 2, DefaultTime2Retain 0, iscsi-scst: MaxOutstandingR2T 1, DataPDUInOrder Yes, DataSequenceInOrder Yes, ErrorRecoveryLevel 0, iscsi-scst: HeaderDigest None, DataDigest None, OFMarker No, IFMarker No, OFMarkInt 2048, IFMarkInt 2048 #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 49,1 MB/s b) 49,0 MB/s c) 48,7 MB/s #dd if=/dev/sdc of=/dev/null bs=64K count=80000 a) 47,9 MB/s b) 46,6 MB/s c) 47,2 MB/s Run at the same time: #while true; do dd if=/dev/sdc of=/dev/null bs=64K; done #dd if=/dev/sdb of=/dev/null bs=64K count=80000 a) 3,6 MB/s b) 3,4 MB/s c) 3,6 MB/s