#129 slirp appears to be I/O bound


The SLIRP network interface is I/O bound. In other words, the speed of the hard disk where Colinux is installed limits the speed that it can send network data.

I'm really not sure if this is a bug in colinux-daemon.exe, colinux-slirp-net-daemon.exe, the host OS, or some combination.

Detailed information:

My host OS is Windows XP Professional SP2.

I was running Colinux from a slow USB 1.0 external hard disk. I was running a graphically intensive X client in Colinux, connecting via SLIRP to an Xming server running on the same physical machine under the host OS. The UI was running very slowly, but Task Manager was registering almost no CPU utilization (I have a 1.8 GHz Pentium 4). However, the I/O {Read,Write} Bytes columns in Task Manager indicated that colinux-slirp-net-daemon.exe was reading and writing massive amounts of data -- at about the speed of my hard disk.

To confirm my suspicions, I moved the colinux .exe files to the (much faster) internal hard disk and the UI lag went away. My Colinux disk image is still on the slow USB 1.0 hard disk; I only moved the Colinux binaries. (This rules out the possibility that my X client was somehow I/O bound.)

Moving the colinux .exe files to a faster disk is a workaround that is feasible on my machine and gives acceptable performance for my application, but in general there is no good reason for the SLIRP network bandwidth to be limited by hard disk I/O bandwidth, so I'm filing this as a bug.


  • Henry N.
    Henry N.

    Logged In: YES
    Originator: NO

    Please referer the used coLinux version.

    In version 0.8.0 have performance improvements, you can enable "setcobd=async" to split disk i/o from all other task.
    Without async (the default is sync) all I/O operations are delayed as long the disk block is not written/read on host side.