From: "Charles Sandmann" Newsgroups: comp.os.msdos.djgpp Subject: Re: CWSDPMI: slow IRQ wrapper Date: Sun, 2 Aug 1998 17:43: 0 Organization: Aspen Technology, Inc. Lines: 21 Message-ID: <35c4a524.sandmann@clio.rice.edu> References: Reply-To: sandmann AT clio DOT rice DOT edu NNTP-Posting-Host: dmcap2.aco.aspentech.com To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk > > Is there other extender avaiable with fast IRQ handling capables as > > PMODE by TRAN for DJGPP ? > > The wrappers have nothing to do with the DPMI server. They are library > helper functions which work the same with any server. So switching a > server won't change much. If you want faster response, use CWSDPR0 which > runs at ring 0, but doesn't support virtual memory. Eli is completely correct about the wrappers. But they don't add that much overhead (and are unlikely to be the limiting step). The biggest problems are mode switches (a killer in any DPMI provider) and ring changes. If a switch to CWSDPR0 (or PMODETSR, available where you get CWSDPMI, and I strongly recommend as the fastest ring 0 provider) solves the problem, you should use that. In the past, however, I have found people will call a DOS or BIOS service to "wait" while the interrupts come in, which requires a mode switch, and even PMODE fails at 10K interrupts/sec. You need to keep the processor completely in protected mode while handling high frequency interrupts (no library calls, no disk I/O, no BIOS, etc) or install a dual mode interrupt handler - which is completely outside the scope of a newsgroup discussion.