Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!elroy.jpl.nasa.gov!swrinde!gatech!prism!gt8134b From: gt8134b@prism.gatech.EDU (Howlin' Bob) Newsgroups: comp.os.386bsd.development Subject: Re: V86 mode Message-ID: <107892@hydra.gatech.EDU> Date: 7 Aug 93 20:50:58 GMT References: <107725@hydra.gatech.EDU> <23tqbk$3tt@europa.eng.gtefsd.com> <CBDIC3.Gp4@hip-hop.suvl.ca.us> Organization: Georgia Institute of Technology Lines: 52 In <CBDIC3.Gp4@hip-hop.suvl.ca.us> dfox@hip-hop.suvl.ca.us (David Fox) writes: >David C. Niemi (niemidc@oasis.gtefsd.com) wrote: >: The V86-mode emulators I have seen tend to suck about 10% of the CPU each (on a 386). >: Is this inherent in V86 mode, or is it a deficiency of the implementation? >I am sure some of the performance hit you get with dosemu and v86 mode in >general is because the system is already in protected mode, and there is >significant anction to switch between the two modes, and linux is continually >switching between the two when running dosemu. I don't think the problem is >unavoidable, because in part that is how the intel hardware does things. Eh? I'm afraid I don't understand what your last sentence means. If you mean that all the performance loss in dosemu isn't necessary, I agree. One big problem with dosemu is that the Linux kernel isn't structured around efficient V86-mode handling. OS/2 and Windows DOS boxes will always perform better than dosemu. I might one day change the kernel so that it's a bit more lenient on V86 mode, but I don't see myself (or Linus) sacrificing kernel cleanliness, structure, or efficiency for dosemu. >BTW, I tried dosemu on a 386SX running linux, and the DOS programs running >underneath were really too slow to use. Could you please be a little more specific, like telling me what version of dosemu, what progams you ran, and what display mode you were in? These all make a big difference. If you were in tty display mode, then dosemu has to periodically scan the display memory, translate it into termcap escape sequences and ASCII, then stuff it onto the tty. If you're in console mode, then things should run a good bit better. Also, some programs run slower than others for reasons other than dosemu's inherent performance: some depend on the delivery of timer interrupts to control delay loops, which is a problem I'm still wrestling with. It's pretty hard to simulate a 400Hz timer interrupt for a hypothetical game XY on a system with a 100Hz clock. Of course, programs that stick with the standard 18.2 Hz clock rate should work without extra delay, taking task switching latency into account. I find a lot of programs very usable on my 486-33. Some programs apparently run as fast as they do under DOS (note that I said "apparently.") Besides, I find most anything on a 386SX too slow to use. :-) Robert -- Robert Sanders Georgia Institute of Technology, Atlanta Georgia, 30332 uucp: ...!{decvax,hplabs,ncar,purdue,rutgers}!gatech!prism!gt8134b Internet: gt8134b@prism.gatech.edu