On 12/05/2018 09:03 PM, Pavel Butsykin wrote:
> #VSTOR-18383
>
> Pavel Butsykin (3):
> fs/fuse kio: bring fuse ktraces to a common view
> fs/fuse kio: disable duplication FUSE_K* messages to debugfs by
> default
> fs/fuse kio: make it possible to enable TRACE/DTRACE in the release
>
On 12/04/2018 10:28 PM, Pavel Emelyanov wrote:
> On 12/03/2018 05:20 PM, Pavel Butsykin wrote:
>> On 30.11.2018 19:44, Pavel Emelianov wrote:
>>> On 11/30/2018 05:57 PM, Pavel Butsykin wrote:
>>>> Hmm, __kfuse_trace() duplicates message to debugfs trace, without '
On 12/03/2018 05:20 PM, Pavel Butsykin wrote:
> On 30.11.2018 19:44, Pavel Emelianov wrote:
>> On 11/30/2018 05:57 PM, Pavel Butsykin wrote:
>>> Hmm, __kfuse_trace() duplicates message to debugfs trace, without '\n'
>>
>> Yes, and AFAIS most of the existing
'\n' (or even drop duplication messages to debugsfs/dmesg,
> as not a very useful thing).
>
> On 30.11.2018 17:35, Pavel Butsykin wrote:
>> Would you like to fix all FUSE_KTRACE's in the kernel? I see a few more
>> FUSE_KTRACE with '\n'.
>>
>&
After a recent (b)log (re)work it was noticed that some extra \n-s crept
into the classical log files. Indeed, the pstorage TRACE() call appends a
\n at the end of each message and so does the kernel code.
Sorry for inconvenience.
https://pmc.acronis.com/browse/VSTOR-18383
Signed-off-by: Pavel
ks like this:
==
id = shmget(...);
setresuid(uid, 0, 0);
shmctl(id, SHM_LOCK, NULL);
setresuid(uid + 1, 0, 0);
shmctl(id, SHM_LOCK, NULL);
==
My solution is to return 0 to the userspace and do not change the
segment's user.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECT
My x86_64 system boots fine but crashes as below, when I run my
'pidns_exec' test with a simple program that prints getpid(), getppid()
etc of the process in the child pid ns.
Pls see
http://www.geocities.com/sukadevb/Pidspace/2.6.22-rc6-mm1-pavel-1.tgz
for the patches I currently have applie
Serge E. Hallyn wrote:
> Quoting Pavel Emelianov ([EMAIL PROTECTED]):
>> [EMAIL PROTECTED] wrote:
>>> Pavel Emelianov [EMAIL PROTECTED] wrote:
>>> | [EMAIL PROTECTED] wrote:
>>> | > Subject: [PATCH 2/6] Rename pid_nr function
>>> | >
[EMAIL PROTECTED] wrote:
> Pavel Emelianov [EMAIL PROTECTED] wrote:
> | [EMAIL PROTECTED] wrote:
> | > Subject: [PATCH 2/6] Rename pid_nr function
> | >
> | > From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
> | >
> | > Rename pid_nr() function to pid_t
ill only the container if the container's init has a
> bug rather than force a kernel panic.
>
> Signed-off-by: Serge E. Hallyn <[EMAIL PROTECTED]>
> Signed-off-by: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Acked-by: Pavel Emelianov <[EMAIL PROTECTED]>
> -
[EMAIL PROTECTED] wrote:
> Subject: [PATCH 2/6] Rename pid_nr function
>
> From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
>
> Rename pid_nr() function to pid_to_nr() which is more descriptive
> and will hopefully cause less confusion with new structure/functions
> being added to support multiple
r more details.
>
> Signed-off-by: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Acked-by: Pavel Emelianov <[EMAIL PROTECTED]>
> ---
> fs/exec.c |9 -
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> Index: lx26-22-rc6-mm1/fs/exec.c
> ===
ngest pid namespace in which
> the process is known.
>
> This patch defines and uses a wrapper to find the active pid namespace
> of a process. The implementation of the wrapper will be changed in
> when support for multiple pid namespaces are added.
>
> Changelog:
> 2
Patrick McHardy wrote:
> Pavel Emelianov wrote:
>> Patrick McHardy wrote:
>>
>>> Mhh doing it later means dealing with compatibility issues, which
>>> is why I'm asking now. We currently support IFLA_NAME, IFLA_MTU,
>>
>> Oh, I see.
>
Patrick McHardy wrote:
> Pavel Emelianov wrote:
>> Patrick McHardy wrote:
>>
>>> Pavel Emelianov wrote:
>>>
>>>> +static const struct nla_policy veth_policy[VETH_INFO_MAX + 1] = {
>>>> + [VETH_INFO_MAC] = { .type = NLA_BINARY, .le
Patrick McHardy wrote:
> Pavel Emelianov wrote:
>> +static const struct nla_policy veth_policy[VETH_INFO_MAX + 1] = {
>> +[VETH_INFO_MAC] = { .type = NLA_BINARY, .len = ETH_ALEN },
>> +[VETH_INFO_PEER]= { .type = NLA_STRING },
>> +[VETH_
Christian Borntraeger wrote:
> Am Mittwoch, 11. Juli 2007 schrieb Pavel Emelianov:
>> drivers/net/veth.c | 452
>> include/net/veth.h | 14 +
>
> I know, I am late in the game, but wont the name collide somewhat with
> drivers/net/ibmveth.h, drivers/net/iseries
The usage is
# ip link add [name] type veth [peer ] [mac ] [peer_mac ]
This version doesn't include the fix for ip/iplink.c as Patrick
said that he had included it into his patches already.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
Makefile|6 +++-
link_ve
al changes;
* Small code rework.
Changes from v.1:
* percpu statistics;
* standard convention for nla policy names;
* module alias added;
* xmit function fixes noticed by Patric;
* code cleanup.
The patch for an ip utility is also provided.
Signed-off-by: Pavel Emelianov <[EM
Matt Mackall wrote:
> On Fri, Jul 06, 2007 at 12:01:59PM +0400, Pavel Emelianov wrote:
>> This is "submition for inclusion" of hierarchical, not kconfig
>> configurable, zero overheaded ;) pid namespaces.
>
> How big is it?
Summary: 50 files changed, 877 insertion
These patches were acked by all the people who is interested in
having pid namespace in the kernel and proposed for inclusion.
Made against 2.6.22-rc6-mm1 and checked on i386 and x86_64 nodes.
[PATCH 1/3] - Api rename.
Acked by Cedric Le Goater.
[PATCH 2/3] - Small improvement of get
My apologizes, but I have just noticed that the subject of the
very first letter was accidentally cut (by my mailer?).
The correct one is
"[PATCH 0/3] Parts of pid namespaces approved by all the participants"
Thanks,
Pavel
___
Containers mailing list
ns is
used.
The second FIXME is about the cache allocation. When we do know
how long the object will be then we'll have to calculate this
size in create_pid_cachep. Right now the sizeof(struct pid)
value is used.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
Acked-by: Cedric Le Goa
Make get_pid_ns() return the namespace itself to look like
the other getters and make the code using it look nicer.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
Acked-by: Cedric Le Goater <[EMAIL PROTECTED]>
---
diff --git a/include/linux/pid_namespace.h b/include/linux/pid
nal dereference.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
Acked-by: Serge E. Hallyn <[EMAIL PROTECTED]>
---
diff --git a/arch/mips/kernel/irixelf.c b/arch/mips/kernel/irixelf.c
index 403d96f..10ba0a5 100644
--- a/arch/mips/kernel/irixelf.c
+++ b/arch/mips/kernel/irixelf.c
@@
[EMAIL PROTECTED] wrote:
> Pavel Emelianov [EMAIL PROTECTED] wrote:
> | This is "submition for inclusion" of hierarchical, not kconfig
> | configurable, zero overheaded ;) pid namespaces.
> |
> | The overall idea is the following:
> |
> | The namespace are organ
> Not able to boot my ppc64 machine with the patchset :(
>
> Thanks,
> Badari
That's the hunk lost during the split:
--- ./fs/proc/root.c.procfix2007-07-10 13:52:08.0 +0400
+++ ./fs/proc/root.c2007-07-10 15:23:20.0 +0400
@@ -111,7 +111,7 @@ void __init proc_root_init(void
Daniel Lezcano wrote:
> Pavel Emelianov wrote:
>> Cedric Le Goater wrote:
>>> Badari Pulavarty wrote:
>>>> On Fri, 2007-07-06 at 12:01 +0400, Pavel Emelianov wrote:
>>>>> This is "submition for inclusion" of hierarchical, not kconfig
>>
Cedric Le Goater wrote:
> Badari Pulavarty wrote:
>> On Fri, 2007-07-06 at 12:01 +0400, Pavel Emelianov wrote:
>>> This is "submition for inclusion" of hierarchical, not kconfig
>>> configurable, zero overheaded ;) pid namespaces.
>> Not able to boot m
[EMAIL PROTECTED] wrote:
> Pavel Emelianov [EMAIL PROTECTED] wrote:
> | This is "submition for inclusion" of hierarchical, not kconfig
> | configurable, zero overheaded ;) pid namespaces.
> |
> | The overall idea is the following:
> |
> | The namespace are organ
Badari Pulavarty wrote:
> On Mon, 2007-07-09 at 22:06 +0200, Cedric Le Goater wrote:
>> Badari Pulavarty wrote:
>>> On Fri, 2007-07-06 at 12:01 +0400, Pavel Emelianov wrote:
>>>> This is "submition for inclusion" of hierarchical, not kconfig
>>>
[EMAIL PROTECTED] wrote:
> Cedric Le Goater [EMAIL PROTECTED] wrote:
> | Pavel Emelianov wrote:
> | > struct pid_namespace will have the kmem_cache to allocate
> | > the pids from, the parent, as they are hierarchical, and
> | > the level of nesting value.
> | >
all processes in the container ? I thought
> that was discussed earlier and the consensus was to terminate
> all processes in that container and its subordinate containers.
>
> Is that not the case now ?
That's the case, but this code works without this change. We can do
it la
Cedric Le Goater wrote:
> 3. Suka assumes that pid namespace can live without proc mount
>and tries to make the code work with pid_ns->proc_mnt change
>from NULL to not-NULL from times to times.
>My code calls the kern_mount() at the namespace creation and
>thus
[EMAIL PROTECTED] wrote:
> Pavel Emelianov [EMAIL PROTECTED] wrote:
> | When user send signal from (say) init namespace to any task in a sub
> | namespace the siginfo struct must not carry the sender's pid value, as
> | this value may refer to some task in the destination n
[EMAIL PROTECTED] wrote:
> Pavel Emelianov [EMAIL PROTECTED] wrote:
> | When showing pid to user or getting the pid numerical id for in-kernel
> | use the value of this id may differ depending on the namespace.
> |
> | This set of helpers is used to get the global pid nr, t
Cedric Le Goater wrote:
> Pavel Emelianov wrote:
>> The set of functions process_session, task_session, process_group
>> and task_pgrp is confusing, as the names can be mixed with each other
>> when looking at the code for a long time.
>>
>> The proposals are
[EMAIL PROTECTED] wrote:
> Pavel Emelianov [EMAIL PROTECTED] wrote:
> | When searching the task by numerical id on may need to find
> | it using global pid (as it is done now in kernel) or by its
> | virtual id, e.g. when sending a signal to a task from one
> | namespace the send
Cedric Le Goater wrote:
> Pavel Emelianov wrote:
>> The most importaint change is moving exit_task_namespaces()
>> inside exit_notify() to makes it possible to notify the
>> exiting task's parent. However this should be done before
>> release_task() to address t
Herbert Poetzl wrote:
> On Fri, Jul 06, 2007 at 12:01:59PM +0400, Pavel Emelianov wrote:
>> This is "submition for inclusion" of hierarchical, not kconfig
>> configurable, zero overheaded ;) pid namespaces.
>>
>> The overall idea is the following:
>>
>
field descriptors. one for each member of res_counter
>> + */
>> +
>> +enum {
>> +RES_USAGE,
>> +RES_LIMIT,
>> + RES_FAILCNT,
>> +};
>> +
[snip]
>> diff -puN /dev/null kernel/res_counter.c
>> --- /dev/null2007-06-01 08:12:04.0
Dave Hansen wrote:
> On Fri, 2007-07-06 at 12:01 +0400, Pavel Emelianov wrote:
>> This is "submition for inclusion" of hierarchical, not kconfig
>> configurable, zero overheaded ;) pid namespaces.
>
> Pavel, I'm a bit disappointed that you went ahead and sent t
Peter Zijlstra wrote:
> On Thu, 2007-07-05 at 13:14 +0400, Pavel Emelianov wrote:
>
>> Separate limits for RSS and RSS+pagecache are also a must.
>
> This I still disagree upon. Page-cache limits are orthogonal to
> containers and not a requirement for containers. If you
Since we've switched from using these we may just remove them.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
init_task.h |3 ---
pid.h |3 ---
2 files changed, 6 deletions(-)
diff -upr linux-2.6.22-rc4-mm2.orig/include/linux/pid.h
linux-2.6.22-rc4-mm2-2/in
al one is to be used;
- when getting the pid from userspace one need to consider this as
the virtual one and use appropriate task/pid-searching functions.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
arch/ia64/kernel/signal.c |4 ++--
arch/parisc/kernel/signal.c |2
Just add the support for cloning pid namespaces.
Note that the namespace is destroyed via schedule_work(). This is
done so, since the namespace will put the proc_mnt and thus may
fall asleep.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
include/linux/pid_namespace.h
"fingerpints" in the
pidmaps, this is ok to release the namespace with not yet freed
struct pids, as this pid is not alive and no routines will
use it.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
pid.c | 19 +++
1 files changed, 15 insertions(+), 4 deletio
Make alloc_pid() initialize pid_numbers and hash them
into the hashtable, not the struct pid itself.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
pid.c | 47 +--
1 files changed, 33 insertions(+), 14 deletions(-)
--- ./kernel/pid.
, why the namespace
cannot live without proc mount is described in the appropriate
patch.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
fs/namespace.c |3 ++-
fs/super.c |6 +++---
include/linux/fs.h |4 +++-
3 files changed, 8 insertions(+), 5 deletions(-)
Unike Suka's patches I don not limit the level of pid nesting
creating the caches on demand, depending on the namespace's level.
Each kmem cache is names "pid_", where is the level
of pid namespace and thus - the number of virtual pids in it.
Signed-off-by: Pavel Emelian
and
introduce an argument to the alloc_pid() function.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
include/linux/pid.h |2 +-
kernel/fork.c | 29 +
kernel/pid.c|2 +-
3 files changed, 19 insertions(+), 14 deletions(-)
--- ./incl
.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
include/linux/pid.h | 27
include/linux/sched.h | 108 +-
kernel/pid.c |8 +++
3 files changed, 132 insertions(+), 11 deletions(-)
diff -upr linux-2.6.22-r
Since a task will appear in more than one proc tree we need to shrink many
trees. For this case we pass the struct pid to proc_flush_task() and shrink
the mounts of all the namespaces this pid belongs to.
The NULL passed to it means that only global mount is to be flushed.
Signed-off-by: Pavel
it is the kernel who
sends the signal.
The pid_ns_accessible() call is introduced to check this pid-to-ns
accessibility.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
include/linux/pid.h | 10 ++
kernel/signal.c | 34 --
2 files
When searching the task by numerical id on may need to find
it using global pid (as it is done now in kernel) or by its
virtual id, e.g. when sending a signal to a task from one
namespace the sender will specify the task's virtual id.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
MOUNT flag
to pass the namespace pointer to the proc_get_sb() call.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
fs/proc/inode.c | 20 +--
fs/proc/internal.h|2
fs/proc/root.c| 116
this pid lives in and thus -
the number of elements in the numbers array.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
include/linux/init_task.h |6 ++
include/linux/pid.h |9 +
include/linux/pid_namespace.h |3 +++
kernel
serve separate description.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
include/linux/pid_namespace.h |7 ---
kernel/exit.c |3 ++-
kernel/pid.c |2 ++
3 files changed, 8 insertions(+), 4 deletions(-)
--- ./include/linux/pid_name
nal dereference.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
Acked-by: Serge E. Hallyn <[EMAIL PROTECTED]>
---
arch/mips/kernel/irixelf.c |4 ++--
arch/mips/kernel/irixsig.c |2 +-
arch/mips/kernel/sysirix.c |4 ++--
arch/sparc64/solaris/misc.c |4 ++--
driver
This is "submition for inclusion" of hierarchical, not kconfig
configurable, zero overheaded ;) pid namespaces.
The overall idea is the following:
The namespace are organized as a tree - once a task is cloned
with CLONE_NEWPIDS (yes, I've also switched to it :) the new
namespace becomes the paren
Balbir Singh wrote:
> Resending with the patch numbering fixed and linux-mm copied
>
> This patchset implements another version of the memory controller. These
> patches have been through a big churn, the first set of patches were posted
> last year and earlier this year at
> http://lkml.org
Balbir Singh wrote:
[snip]
>> With the current dual list approach, something like that could be done
>> by treating the container lists as pure FIFO (and ignore the reference
>> bit and all that) and make container reclaim only unmap, not write out
>> pages.
>>
>> Then global reclaim will do the
Paul Menage wrote:
> On 6/20/07, Balbir Singh <[EMAIL PROTECTED]> wrote:
>>
>>
>> Display the current usage and limit in a more user friendly manner.
>> Number
>> of pages can be confusing if the page size is different. Some systems
>> can choose a page size of 64KB.
>
> I'm not sure that's such a
[EMAIL PROTECTED] wrote:
> Pavel Emelianov [EMAIL PROTECTED] wrote:
> | The most important one is moving exit_task_namespaces behind exit_notify
> | in do_exit() to make it possible to see the task's pid namespace to
> | properly notify the parent.
>
> Hmm. I think we tried
[EMAIL PROTECTED] wrote:
> Pavel Emelianov [EMAIL PROTECTED] wrote:
> | The most important one is moving exit_task_namespaces behind exit_notify
> | in do_exit() to make it possible to see the task's pid namespace to
> | properly notify the parent.
>
> Hmm. I think we tried
Eric W. Biederman wrote:
> Pavel Emelianov <[EMAIL PROTECTED]> writes:
>
[snip]
>>> | --- ./include/linux/sched.h.flatdatast 2007-06-15 15:14:33.0 +0400
>>> | +++ ./include/linux/sched.h 2007-06-15 15:19:14.0 +0400
>>> | @@
Cedric Le Goater wrote:
> Pavel Emelianov wrote:
>> OK. We have measured the nptl perf test for init namespace.
>> Summary - flat model is very light, Suka's patches break the
>> kernel performance event when CONFIG_PID_NS is off.
>>
>>
Cedric Le Goater wrote:
> Pavel Emelianov wrote:
>> The set of functions process_session, task_session, process_group
>> and task_pgrp is confusing, as the names can be mixed with each other
>> when looking at the code for a long time.
>>
>> The proposals are
OK. We have measured the nptl perf test for init namespace.
Summary - flat model is very light, Suka's patches break the
kernel performance event when CONFIG_PID_NS is off.
|perf, s | perf loss |
-+--++
2.6.22-rc4-mm2 | 13.79 ± 0.1
[EMAIL PROTECTED] wrote:
> Pavel Emelianov [EMAIL PROTECTED] wrote:
> | [EMAIL PROTECTED] wrote:
> | > Pavel Emelianov [EMAIL PROTECTED] wrote:
> | > | This patch opens the flat model patches.
> | > |
> | > | The flat model idea is that struct pid has two numbers. T
[EMAIL PROTECTED] wrote:
> Pavel Emelianov [EMAIL PROTECTED] wrote:
> | [EMAIL PROTECTED] wrote:
> | > Pavel Emelianov [EMAIL PROTECTED] wrote:
> | > | [EMAIL PROTECTED] wrote:
> | > | > Subject: [PATCH 08/17] Pid-NS(V3) Define/use pid->upid_list list.
>
[EMAIL PROTECTED] wrote:
> Pavel Emelianov [EMAIL PROTECTED] wrote:
> | This patch opens the multilevel model patches.
> |
> | The multilevel model idea is basically the same as for the flat one,
> | but in this case task may have many virtual pids - one id for each
> | sub-n
[EMAIL PROTECTED] wrote:
> Pavel Emelianov [EMAIL PROTECTED] wrote:
> | [EMAIL PROTECTED] wrote:
> | > Subject: [PATCH 08/17] Pid-NS(V3) Define/use pid->upid_list list.
> | >
> | > From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
> | >
> | >
> | &g
[EMAIL PROTECTED] wrote:
> Pavel Emelianov [EMAIL PROTECTED] wrote:
> | This patch opens the flat model patches.
> |
> | The flat model idea is that struct pid has two numbers. The first one
> | (pid->nr) is a global one and is unique in the system. The second one
> | (p
[EMAIL PROTECTED] wrote:
> Subject: [PATCH 08/17] Pid-NS(V3) Define/use pid->upid_list list.
>
> From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
>
>
> With multiple pid namespaces, a process would be known by several pid_t
> values, one in each pid namespace. To represent this, we introduce a
> 's
[EMAIL PROTECTED] wrote:
> Subject: [PATCH 12/17] Pid-NS(V3) Terminate processes in a ns when reaper is
> exiting.
>
> From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
>
> This should actually be considered a part of the previous patch which
> enables cloning of pid namespace. Its been separated ou
[EMAIL PROTECTED] wrote:
> Date: Sat, 16 Jun 2007 15:29:14 -0700
> From: [EMAIL PROTECTED]
> Subject: [PATCH 00/17] Pid-NS(V3) Enable multiple pid namespaces
>
Good news! We will start comparing today :)
Thanks,
Pavel
___
Containers mailing list
[EMAI
[EMAIL PROTECTED] wrote:
> From: [EMAIL PROTECTED]
> Subject: [PATCH 17/17] Pid-NS(V3) Introduce proc_mnt for pid_ns
>
> The following patch completes the removal of the global proc_mnt.
> It fetches the mnt on which to do dentry invalidations from the
> pid_namespace in which the task appears.
>
There's CONFIG_PID_NS option to turn on the pid virtualzation
and the "choise" for the model type depending on it.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
Kconfig | 30 ++
1 files changed, 30 insertions(+)
diff --git a/init/K
The alloc_pid(), free_pid() and put_pid() implementation for multilevel
model (see [PREP 10/14]). This model allocates the appropriate number
and hashed them into two tables.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
pid.c
This is the implementation of move_pid_to_ns for multilevel model
(see [PATCH 15/18] and [FLAT 6/6])
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
pid.c | 42 ++
1 files changed, 42 insertions(+)
--- ./kernel/pid.c.multiclone 2007-06
Initialize numericals for multilevel model (see [PREP 5/14])
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
include/linux/init_task.h | 15 +++
kernel/pid.c |3 +++
2 files changed, 18 insertions(+)
--- ./include/linux/init_task.h.multiinitpid2
This is the implementation of [PREP 7/14] for the multilevel model
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
base.c | 12
1 files changed, 12 insertions(+)
--- ./fs/proc/base.c.multiflush 2007-06-15 15:23:33.0 +0400
+++ ./fs/proc/base.c2007-06-15
The is the implementation of [PREP 2/14] patch for the multilevel model
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
pid.h | 30 ++
sched.h | 64
2 files changed, 94 inse
used to find this number
by numerical id and by struct pid.
The struct pid doesn't need the numerical ids any longer. Instead it
has a single linked list of struct pid_number-s which are hashed
for quick search and have the numerical id.
Signed-off-by: Pavel Emelianov <[EMAIL P
This is the implementation of move_pid_to_ns (see [PATCH 15/28])
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
pid.c | 58 ++
1 files changed, 58 insertions(+)
--- ./kernel/pid.c.flatclone2007-06-15 15:26:23.000
The alloc_pid(), free_pid() and put_pid() implementation for flat
model (see [PREP 10/14]). This model allocates ids from two maps and
hashes the pid in two tables.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
pid.c
Initialize numerical for flat model (see [PREP 5/14])
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
init_task.h |8
1 files changed, 8 insertions(+)
--- ./include/linux/init_task.h.flatinitpid 2007-06-15 15:01:59.0
+0400
+++ ./include/linux/init_task.
This is the implementation of [PREP 7/14] for the flat model
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
base.c |7 +++
1 files changed, 7 insertions(+)
--- ./fs/proc/base.c.flatflush 2007-06-15 15:04:18.0 +0400
+++ ./fs/proc/base.c2007-06-15 15:23:33.000
The is the implementation of [PREP 2/14] patch for the flat model
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
pid.h | 27
sched.h | 102
2 files changed, 129 insertions(+)
--- ./include
tional hlist_node to hash the pid in two hash-tables.
The virtual ids are stored on struct task_struct and struct signal together with
their global pairs for optimisation.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
pid.h | 19 +++
sched.h | 10 +-
2 f
Each namespace is supposed to have its own proc mount. So add the
struct vfsmount pointer to struct pid_namespace and introduce the
helpers to initialize it properly.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
fs/proc/root.c| 20
include
hared with someone else this someone
may happen to be half-inserted into the new space.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
include/linux/pid_namespace.h |2
include/linux/sched.h |1
kernel/fork.c | 15 +++-
kernel/nsproxy.c
belongs to init namespace only, we can optimize this out.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
exit.c | 18 +-
1 files changed, 17 insertions(+), 1 deletion(-)
--- ./kernel/exit.c.flushsave 2007-06-15 15:13:07.0 +0400
+++ ./kernel/exit.c 2
k and thus it is safe
to dereference task->nsproxy pointer.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
include/linux/pid_namespace.h |7 ++-
kernel/exit.c |2 +-
kernel/pid.c |2 ++
3 files changed, 9 insertions(+
It turned out that virtual pids require two hash tables for pid searching.
E.g. flat model hashed pid by its global and virtual ids, multilevel model
uses one hash to find the pid by number, and the other one to find the
number by the struct pid.
Signed-off-by: Pavel Emelianov <[EMAIL PROTEC
allocate the pid numerical ids and hash it into
the hash-tables.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
pid.c | 90 +-
1 files changed, 56 insertions(+), 34 deletions(-)
--- ./kernel/pid.c.pidsplit 2007-06-14
it is the kernel who
sends the signal.
The pid_ns_accessible() call is introduced to check this pid-to-ns
accessibility.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
---
include/linux/pid.h | 10 ++
kernel/signal.c | 18 ++
2 files changed, 28
refer to different
tasks, e.g. 1 in init namespace refers to init, but 1 in sub namespace
does not. This creates difficulties in proc. However having many proc
trees solves this problem and prepares the ground for the proc
virtualization.
Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
--
Since a task will appear in more than one proc tree we need to shrink many
trees. For this case we pass the struct pid to proc_flush_task() and shrink
the mounts of all the namespaces this pid belongs to.
The NULL passed to it means that only global mount is to be flushed.
Signed-off-by: Pavel
1 - 100 of 333 matches
Mail list logo