Boris Toloknov wrote:
> Hi All,
> I wanted colinux to access real ReiserFS partition on my hard disk.
> When I run colinux with cobd0=\Device\Harddisk0\Partition1 then hdparm
> -t /dev/cobd0 says that the speed is about 5.9MB/sec.
> However when I run colinux with cobd0=\Device\Harddisk0\Partition0 then
> hdparm -t /dev/cobd0 says that the speed is about 19.3MB/sec.
> In both cases the CPU is busy for 60-80% when something is been reading
> from the /dev/cobd0. Just in case: the partition is NTFS( temporarily )
> and covers the whole disk. The normal speed ( measured with hdparm -t
> under cygwin ) for that disk is about 57MB/sec.
> As far as I understand I can't pass the whole disk as cobdX and mount
> some partition from that disk later. Is there any way to access some
> partition with the same ( or better :-) ) speed as for the whole disk ?
for the \Device\Harddisk0\Partition0, I would say, that Windows use less
software layers between coLinux-nt-kernel driver and the disk sector
layer. Or you have a virusscanner that acts only on partitions and not
on native sectors.
A better performance you would have with image files. Image files uses
RAM as cache.
Depent on your situation the cobd option "async" works some times
faster. It gives more cpu usage to Linux. But you can not measument it
directly with hdparm. Without "async" (default is 'sync'), the cpu is
suspend from Linux side and hangs in Windows, up to finish the read or
write operation. For large data blocks the cpu hangs longer on Windows.
This is good for many small block transfers.
With the "async", the cpu is faster back to Linux. But have more
OS-Switches (Linux-Windows and back). This is better for large file
transfers. This is slower for multiple small reads/writes.
On list subject "asynchronous cobd as default" exist some test results:
In the devel version 0.8.0 exist a new scsi interface for partitions.
This code is a liddle more optimized for speed, and supports only async.
The \Device\Harddisk0\Partition0 you can use as scsi0. You can use a
partition for coLinux there, and Windows can work on a NTFS partion at
the same time. But, be carefully with the NTFS partition on the same
disk. Don't mount a partition that Windows has also mounted, also
Readonly is not trust for read, you risk wrong data and kernel panics!
"Async" means, that the CPU goes back from Windows to Linux before the
outstanding read/write operation is finished. An additional software
interrupt will than acknowledge the disk command completion. This
interrupt need an extra OS-Switch and cost time.