Re: [PATCH 3/3] Dynamic kmem cache allocator for pid namespaces

From: sukadev
Date: Fri Jul 13 2007 - 21:22:41 EST


Pavel Emelianov [xemul@xxxxxxxxxx] wrote:
| Add kmem_cache to pid_namespace to allocate pids from.
|
| Since booth implementations expand the struct pid to carry
| more numerical values each namespace should have separate
| cache to store pids of different sizes.
|
| Each kmem cache is names "pid_<NR>", where <NR> is the number
| of numerical ids on the pid. Different namespaces with same
| level of nesting will have same caches.
|
| This patch has two FIXMEs that are to be fixed after we reach
| the consensus about the struct pid itself.
|
| The first one is that the namespace to free the pid from in
| free_pid() must be taken from pid. Now the init_pid_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 <xemul@xxxxxxxxxx>
| Acked-by: Cedric Le Goater <clg@xxxxxxxxxx>
| Acked-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxx>
|
| ---
|
| diff --git a/include/linux/pid_namespace.h b/include/linux/pid_namespace.h
| index ddb9a4c..27cfad3 100644
| --- a/include/linux/pid_namespace.h
| +++ b/include/linux/pid_namespace.h
| @@ -20,6 +20,7 @@ struct pid_namespace {
| struct pidmap pidmap[PIDMAP_ENTRIES];
| int last_pid;
| struct task_struct *child_reaper;
| + struct kmem_cache_t *pid_cachep;

Shouldn't this be 'struct kmem_cache *' ?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/