Re: Adding checkpointing API to Linux kernel

Michael Elizabeth Chastain (mec@shout.net)
Tue, 19 Jan 1999 09:35:48 -0600


Hi Simon,

> what needs to happen to get it to work on 2.2.x?

I need to write some more code to handle ELF execve(). ELF didn't
exist when I started this project.

It doesn't handle signals at all, although I have a good idea how
to do this. It also doesn't handle shared writeable memory segments
or mmap'ed devices; that is inherently hard. It handles mmap'ed
files just fine as long as the file doesn't change after the
target mmap's it.

I have a list of every system call and every ioctl in the system.
The system call list is fairly stable. Linus does not add new system
calls often, and he almost never changes the binary interface of an
existing system call (I think this has happened once or twice in four
years; it happened to adjtimex several years ago). The ioctl list is a
huge time sink because the ioctl system call does not have a parameter
that describes the size of the memory region that is being smashed.

It will speed up replay a lot if writing to /proc/$pid/mem works
reliably. Andi Kleen already did this but I haven't tested it.

I have a list of "it would be nice if ..." in task-kernel-lix.txt.
Some of these are features that other people have asked for too,
so they would be good kernel patches for the beginning of 2.3.XX:

ptrace ability to set ORIG_EAX to veto system calls
clear process registers on execve
some include/linux/*.h cleanup for C++ compatibility

Right now we are in the over-my-dead-body stage of 2.2.0 development,
though.

Michael Elizabeth Chastain
<mailto:mec@shout.net>
"love without fear"

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/