www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/12/18/11:11:54

Date: Sat, 18 Dec 93 15:19 GMT
From: mjo AT mrao DOT cam DOT ac DOT uk (Martin Oldfield)
To: dj AT ctron DOT com
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Re: Interrupt routines in 1.11

>>>>> "DJ" == DJ Delorie <dj AT ctron DOT com> writes:

    >> Are there any restrictions on length and the position of
    >> subroutines called by an interrupt and hooked in with a call to
    >> the wonderful
    >> _go32_dpmi_chain_protected_mode_interrupt_vector() subroutine ?

    >> We've got some code that works wonderfully well with a small
    >> interrupt handler but breaks when the handler grows or moves
    >> away from the _go32_....() call.

    DJ> It may be that they need to be locked down so as to prevent
    DJ> paging during an interrupt handler.  Have you tried calling
    DJ> the handler from main() once to pre-load the pages?  That
    DJ> would make it happen less often, but I don't know of a good
    DJ> easy fix for this.

This is consistent with the observed behavoir. OK, so who's
responsible for paging stuff around ? Is it all internal to go32 ?
Are there plans to provide page locking routines or are you looking
for some mug to offer ? (If so, where do I start looking ?)

On a more general level, what kind of algorithms are used for page
control ? Given that our application uses significantly less memory
than the physical memory available, is there anyway to ensure that
go32 doesn't throw away a page after loading it ?

Thanks,
M.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019