[mod.computers.vax] EXE$ALONONPAGED and EXE$DEANONPAGED

dean@A.PSY.CMU.EDU (randall w. dean) (01/27/86)

Has anyone had any experience with the system routines EXE$ALONONPAGED and
EXE$DEANONPAGED.  I have a DRV11J parallel interface connected to a 
Vaxstation II.  I am using the connect to interrupt facility.  The interrupt
service routines (ISR's) (there are three different interrupt lines being used)
check the status of assorted things and sometimes allocate a chunk of
memory (EXE$ALONONPAGED) to save information for a kernel mode ast.  The ISR 
then allocates another piece of memory for the AST block and then declares an
AST (EXE$DCLAST).  The Kernel mode AST then does whatever and deallocates 
(EXE$DEANONPAGED) the buffer with the information passed to it and exits.
This works without problem most of the time.   At certain times (not
consistantly reproduceable) the system will crash with a fatal bugcheck
DOUBLDEALO Double deallocation of Memory block.  The documentation says to
submit an SPR.  No good because we don't have sufficeint maint. and the
cause can be pinpointed in someway to my code.  The problem I suspect
is a synch probelm with allocation and dealloction of memory.  ie. I am
in the middle of a dealloction, the system interrupts at high IPL and is able
to allocate the peice I just deaalocated.  I then finish deallocating.  When
the kernel mode ast later dealloctes a previously deallocted piece, POW.
The Fiche doesn't mention any need to raise IPL when allocating or deallocting
though.

Anyone have any thoughts/experience/comments ?

Randall W. Dean
Dean@A.PSY.CMU.EDU