LWN.net Logo

RFC [patch 00/34] PID Virtualization Overview

From:  Serge Hallyn <serue@us.ibm.com>
To:  linux-kernel@vger.kernel.org
Subject:  RFC [patch 00/34] PID Virtualization Overview
Date:  Tue, 17 Jan 2006 08:32:58 -0600
Cc:  Hubertus Franke <frankeh@watson.ibm.com>, Cedric Le Goater <clg@fr.ibm.com>, Dave Hansen <haveblue@us.ibm.com>, Serge E Hallyn <serue@us.ibm.com>
Archive-link:  Article, Thread

--
PID Virtualization is based on the concept of a container.
Our ultimate goal is to checkpoint/restart containers.  The
containers should also be useful as a basis for the pid
virtualization required, for instance, by vserver.

The mechanism to start a container 
is to 'echo "container_name" > /proc/container'  which creates a new
container and associates the calling process with it. All subsequently
forked tasks then belong to that container.
There is a separate pid space associated with each container.
Only processes/task belonging to the same container "see" each other.
The exception is an implied default system container that has 
a global view.
The following patches accomplish 3 things:
1) identify the locations at the user/kernel boundary where pids and 
   related ids ( pgrp, sessionids, .. ) need to be (de-)virtualized and
   call appropriate (de-)virtualization functions.
2) provide the virtualization implementation in these functions.
3) implement a container object and a simple /proc interface to create one
4) provide a per container /proc/fs

-- Hubertus Franke    (frankeh@watson.ibm.com)
-- Cedric Le Goater   (clg@fr.ibm.com)
-- Serge E Hallyn     (serue@us.ibm.com)
-- Dave Hansen        (haveblue@us.ibm.com)


Copyright © 2006, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds