Andrew Morton [EMAIL PROTECTED] wrote: | On Fri, 10 Aug 2007 15:47:59 +0400 | [EMAIL PROTECTED] 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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/