Hi Drew, It's possible to support vfork but would require some work on our side. In the meanwhile, there might a simpler way to support vfork for you. Can you provide a typical usage scenario that you have with vfork+exec? The most important thing for us is to find out what would go on between vfork and exec, both in the parent and the child process. I know that the caller thread is going to be blocked but what about the other threads and the child process? Would it be okay to say block the other threads while the vfork call is in progress?
The reason why a generic vfork support is tricky is because DMTCP tries some fancy tricks with atfork wrappers to make the coordinator aware of to-be-created process so that the new process doesn't miss a checkpoint command that arrives in the middle of fork. There are alternatives but I'd want to know more about the application before trying any changes :). Best, Kapil On Thu, Jan 16, 2020 at 12:45 PM Andrew Lynch <[email protected]> wrote: > Hi Folks, > > We are checkpointing very large processes that use more than half the > available memory on our hosts. We utilize vfork/exec to launch small > processes. Vfork is mapped to fork in execwrappers.cpp: > > > > extern "C" pid_t vfork() > > { > > JTRACE("vfork wrapper calling fork"); > > // This might not preserve the full semantics of vfork. > > // Used for checkpointing gdb. > > return fork(); > > } > > > > Fork checks for available memory to duplicate the process and fails if not > enough memory exists (even though the required memory for the new process > is very small). Is there a way to use vfork? Has anyone tried removing > this mapping? > > > > Regards, > > Drew > > > > > > [image: http://www.cadence.com/mail/footer_logocdns2.jpg] > > [image: Cadence Cares] <http://fortune.com/best-companies/cadence-52/> > > *Andrew T. Lynch* | Software Architect > > T: 408.914.6875 M: 408.832.1045 www.cadence.com > > > _______________________________________________ > Dmtcp-forum mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/dmtcp-forum >
_______________________________________________ Dmtcp-forum mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dmtcp-forum
