From: Henry N. <hen...@ar...> - 2008-10-28 00:12:16
|
Hello Boris, 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: http://www.nabble.com/forum/ViewPost.jtp?post=16040183 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. -- Henry N. |