lkml.org 
[lkml]   [2010]   [Nov]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [Ksummit-2010-discuss] checkpoint-restart: naked patch
    From
    On Thu, Nov 4, 2010 at 8:55 PM, Kapil Arya <kapil@ccs.neu.edu> wrote:

    >> * Complexity: they technically implement a virtual pid-namespace in userspace
    >> by intercepting calls to clone(). I wonder if they consider e.g. pid's saved
    >> on file owners or in afunix creds ? I'll just say it's nearly impossible with
    >> their 20K lines of code - I know because I did it in a kernel module ...
    >
    > We do wrap clone and create a table from original PID/TID to current PID/TID
    > just as you say. To our knowledge, we have wrappers for all system calls
    > involving a PID/TID except fcntl. We are guessing that either Linux C/R also
    > keeps a translation table or else restores the original PID/TID. Which do you
    > do? In the latter case what do you do if a PID/TID is already used by another
    > process/thread?
    >

    Like Oren said, we run the application inside the container - which would have
    its own pid namespace. When we restart, we again create a container, which
    starts with a fresh pid namespace, so the pids will not be in use.
    IOW, a process
    has a virtual pid and a global pid. The virtual pid is what the
    application sees
    when it calls getpid() and that pid will be correctly restored when you create
    the container.

    Sukadev


    \
     
     \ /
      Last update: 2010-11-05 18:33    [W:0.025 / U:0.140 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site