Andrew Morton [akpm@xxxxxxxxxxxxxxxxxxxx] wrote: | On Fri, 10 Aug 2007 15:47:59 +0400 | xemul@xxxxxxxxxx wrote: | | > struct pid | > { | > atomic_t count; | > @@ -50,6 +50,8 @@ struct pid | > /* lists of tasks that use this pid */ | > struct hlist_head tasks[PIDTYPE_MAX]; | > struct rcu_head rcu; | > + int level; | > + struct upid numbers[1]; | | You can make this have size [0] now. It's a gcc extension and | is used elsewhere in the kernel. Sorry, we did not respond to this yet :-) Well, every process has at least one 'struct upid'. The only "cost" I see with size [1] is having to subtract 1 in create_pid_cachep(). Besides, we create/initialize the 'struct pid' for the idle process by hand (see INIT_STRUCT_PID in init_task.h). If we set this size to [0] now, we would need to dynamically allocate a 'struct upid' during early boot and attach this upid to init_struct_pid. Or is there a easy way to attach a 'upid' to init_struct_pid, statically ? Suka _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers