checkpointing processes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

i have had a look at the algorithm for process migration on http://www.ncl.cs.columbia.edu/research/migrate/ and ran into some _STRANGE_ idea.

I wrote a small programm, that, beeing run with arguments (=1) uses the clone() syscall in its full beauty (CLONE_VM, CLONE_FILES.....) to get a ligthweigth process (=2) while still having a running parent(=1). Another instance of this programm (that did not clone() itselve) (=3) is also runing.

The idea behind all this is, that I thougth it whould be possible to migrate a thread (or lighthweight Process) to another IDENTICAL instance of the parent.

For testing I wrote a module, that simply modifies the
*mm and *active_mm pointer of 2 to point to the mm_struct of 3.
I also incremented the mm_users field of 3.

Beeing lazy I have done nothing else, as I am convinced that it _should_ work... (I expected crashes because of ignoring the father / child relation and Page faults, (the end of the world), but i thougth as a test it would do something.)

The funny thing now is, that 2 simply dies, without _any_ coughing of the kernel & I cannot attach a kernel debugger (2.4.2 crashes).

So what did I forget?

Any help would be appreciated.

Thanks

Benedikt


--
Unser beliebter Preis zum Thema "Koennte lustig sein, wenn man duemmer waer" geht an s.o.


--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux