delorie.com/archives/browse.cgi | search |
Xref: | news2.mv.net comp.os.msdos.djgpp:6151 |
From: | gunnar AT cls DOT net (Gunnar Kempke) |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: Interrupt overhead with DJGPP's extender |
Date: | Fri, 19 Jul 1996 08:29:53 GMT |
Organization: | commercial link systems |
Lines: | 37 |
Message-ID: | <4snh34$f76@freeside.cls.de> |
References: | <31EC2DD4 DOT 7A94 AT ee DOT ubc DOT ca> <31ed4846 DOT sandmann AT clio DOT rice DOT edu> |
Reply-To: | gunnar AT cls DOT net |
NNTP-Posting-Host: | trantor.cls.de |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Charles Sandmann <sandmann AT clio DOT rice DOT edu> wrote: > ... >The fastest case would be using either CWSDPR0 or PMODE/DJ - both of which >are ring 0 providers which don't swap interrupt stacks - and to have all >interrupts handled in the mode which they happen (no mode swaps). In >this case there is no additional overhead vs the standard "real mode" >type interrupt handlers. We develop a commercial IP-Router using djgpp and I found PMODE/DJ to be a lot faster when it comes to handling interupts. Up to now I thought the reason for this is because CWSDPR0 passes real mode interrupts to the protected mode no matter if there is a real mode handler for the interrupt. What is the difference between these extenders regarding interrupts? What happens in our case is: IP-Packet comes in from the network A HW-Interrupt is generated by the Ethernet/ISDN/whatever Card The Interrupt is handled by a real mode packet driver The packet driver passes the packet up to the proteced mode routing sofware via a callback function The routing software processes the packet and transfers it to the appropriate real mode packet driver which then sends it out to the network. Using PMODE this is about three times as fast as with CWSDPR0 Why this? greetings, Gunnar
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |