Hi *,

I've installed dosemu-0.99.10.0 on my RH5.2 box, the kernel
upgraded to 2.2.5, and started xdos, with in the configuration file:

$_rdtsc = (on)          # if possible use Pentium cycle counter
$_hogthreshold = (100)  # 0 == all CPU power to DOSEMU
$_com1 = "/dev/vmodem"  # e.g. "/dev/mouse" or "/dev/cua0"

This xdos seems to slow down the system much, even when at the DOS
prompt doing nothing: dragging a window on my K6-2 333Mhz 128Mb slows
down alot [gfx card: Matrox G200], it looks like it spends a lot of
time in kernel space since it is not traceable with top.

strace -p1347 (xdos pid) gives some strange results:

read(12, 0x81a4e99, 128)                = -1 EAGAIN (Resource temporarily unavailable)
SYS_166(0x1, 0x8106d44, 0x71000, 0xfff8eff1, 0x804bd00) = -1 ENOSYS (Function not 
implemented)
SYS_166(0x1, 0x8106d44, 0x71000, 0xfff8eff1, 0x804bd00) = -1 ENOSYS (Function not 
implemented)
gettimeofday({924722631, 925637}, NULL) = 0
read(12, 0x81a4e99, 128)                = -1 EAGAIN (Resource temporarily unavailable)
SYS_166(0x1, 0x8106d44, 0x71000, 0xfff8eff1, 0x804bd00) = -1 ENOSYS (Function not 
implemented)
SYS_166(0x1, 0x8106d44, 0x71000, 0xfff8eff1, 0x804bd00) = -1 ENOSYS (Function not 
implemented)
gettimeofday({924722631, 926267}, NULL) = 0
read(12, 0x81a4e99, 128)                = -1 EAGAIN (Resource temporarily unavailable)

etc.

[root@k6 fd]# ls -l /proc/1347/fd/12
lrwx------   1 root     root           64 Apr 21 21:30 /proc/1347/fd/12 -> /dev/vmodem

..so it's polling the COM port for no reason. Someone knows why?

After removal of the offending com line in /etc/dosemu.conf, the
system stays just as slow, but strace now gives:

SYS_166(0x1, 0x8106d44, 0x70000, 0xfff8fff1, 0x804bd00) = -1 ENOSYS (Function not 
implemented)
SYS_166(0x1, 0x8106d44, 0x70000, 0xfff8fff1, 0x804bd00) = -1 ENOSYS (Function not 
implemented)
SYS_166(0x1, 0x8106d44, 0x70000, 0xfff8fff1, 0x804bd00) = -1 ENOSYS (Function not 
implemented)
SYS_166(0x1, 0x8106d44, 0x70000, 0xfff8fff1, 0x804bd00) = -1 ENOSYS (Function not 
implemented)
gettimeofday({924723197, 781803}, NULL) = 0

etc.

It seems like this SYS_166 is the offending system call. Anyone knows
what SYS_166 is supposed to do?

Regards,
Rutger.

-- 
Rutger Nijlunsing, rutger @ null.net ----------------------------- Linux! --
Don't BiCapitalize without extremely good reason: it messes up the natural
human-eyeball search order -- Your Friendly Neighborhood Archive Maintainers
+31-40 ----------------------------------------------------------- ^X^S^X^Cs

Reply via email to