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 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.