[Devel] Re: [PATCH 1/13] Round up the API

2007-05-25 Thread Pavel Emelianov
Serge E. Hallyn wrote:
 Quoting Eric W. Biederman ([EMAIL PROTECTED]):
 Serge E. Hallyn [EMAIL PROTECTED] writes:

 Quoting Pavel Emelianov ([EMAIL PROTECTED]):
 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 to
 * equip the functions that return the integer with _nr suffix to
   represent that fact,
 * and to make all functions work with task (not process) by making
   the common prefix of the same name.

 For monotony the routines signal_session() and set_signal_session()
 are replaced with task_session_nr() and set_task_session(), especially
 since they are only used with the explicit task-signal dereference.

 I've sent this before, but Andrew didn't include it, so I resend it
 as the part of this set.

 Signed-off-by: Pavel Emelianov [EMAIL PROTECTED]
 Acked-by: Serge E. Hallyn [EMAIL PROTECTED]
 Yup, I still like this patch.
 I'm borderline.  Less error prone interfaces sound good, less
 duplication of information sounds good.  Changing the names of
 historical function may be change for the sake of change and
 thus noise.

 However if we are going to go this far I think we need to remove
 the numeric pid cache from the task_struct.
 
 You mean tsk-pid?
 
 I agree, especially in Suka's version.  Not sure it applies to Pavel's
 version, though since the real/global pid is still stored only in
 tsk-pid, right?

No. All objects that have pid (task_struct, signal_struct and pid (struct))
have two ids after this patch - virtual one and global one.

 -serge
 

___
Devel mailing list
Devel@openvz.org
https://openvz.org/mailman/listinfo/devel


[Devel] Re: [PATCH 1/13] Round up the API

2007-05-25 Thread Serge E. Hallyn
Quoting Pavel Emelianov ([EMAIL PROTECTED]):
 Serge E. Hallyn wrote:
  Quoting Eric W. Biederman ([EMAIL PROTECTED]):
  Serge E. Hallyn [EMAIL PROTECTED] writes:
 
  Quoting Pavel Emelianov ([EMAIL PROTECTED]):
  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 to
  * equip the functions that return the integer with _nr suffix to
represent that fact,
  * and to make all functions work with task (not process) by making
the common prefix of the same name.
 
  For monotony the routines signal_session() and set_signal_session()
  are replaced with task_session_nr() and set_task_session(), especially
  since they are only used with the explicit task-signal dereference.
 
  I've sent this before, but Andrew didn't include it, so I resend it
  as the part of this set.
 
  Signed-off-by: Pavel Emelianov [EMAIL PROTECTED]
  Acked-by: Serge E. Hallyn [EMAIL PROTECTED]
  Yup, I still like this patch.
  I'm borderline.  Less error prone interfaces sound good, less
  duplication of information sounds good.  Changing the names of
  historical function may be change for the sake of change and
  thus noise.
 
  However if we are going to go this far I think we need to remove
  the numeric pid cache from the task_struct.
  
  You mean tsk-pid?
  
  I agree, especially in Suka's version.  Not sure it applies to Pavel's
  version, though since the real/global pid is still stored only in
  tsk-pid, right?
 
 No. All objects that have pid (task_struct, signal_struct and pid (struct))
 have two ids after this patch - virtual one and global one.

(Yes, so wouldn't removing task-pid be pretty detrimental?)

Could you outline how you would extend this to 3 levels?  Would you just
add a 'vpid2' etc to the struct pid?

thanks,
-serge

___
Devel mailing list
Devel@openvz.org
https://openvz.org/mailman/listinfo/devel


[Devel] Re: [PATCH 1/13] Round up the API

2007-05-24 Thread Serge E. Hallyn
Quoting Pavel Emelianov ([EMAIL PROTECTED]):
 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 to
 * equip the functions that return the integer with _nr suffix to
   represent that fact,
 * and to make all functions work with task (not process) by making
   the common prefix of the same name.
 
 For monotony the routines signal_session() and set_signal_session()
 are replaced with task_session_nr() and set_task_session(), especially
 since they are only used with the explicit task-signal dereference.
 
 I've sent this before, but Andrew didn't include it, so I resend it
 as the part of this set.
 
 Signed-off-by: Pavel Emelianov [EMAIL PROTECTED]
 Acked-by: Serge E. Hallyn [EMAIL PROTECTED]

Yup, I still like this patch.

thanks,
-serge

 
 ---
 
 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
 @@ -1170,8 +1170,8 @@ static int irix_core_dump(long signr, st
   prstatus.pr_sighold = current-blocked.sig[0];
   psinfo.pr_pid = prstatus.pr_pid = current-pid;
   psinfo.pr_ppid = prstatus.pr_ppid = current-parent-pid;
 - psinfo.pr_pgrp = prstatus.pr_pgrp = process_group(current);
 - psinfo.pr_sid = prstatus.pr_sid = process_session(current);
 + psinfo.pr_pgrp = prstatus.pr_pgrp = task_pgrp_nr(current);
 + psinfo.pr_sid = prstatus.pr_sid = task_session_nr(current);
   if (current-pid == current-tgid) {
   /*
* This is the record for the group leader.  Add in the
 diff --git a/arch/mips/kernel/irixsig.c b/arch/mips/kernel/irixsig.c
 index 6980deb..210503e 100644
 --- a/arch/mips/kernel/irixsig.c
 +++ b/arch/mips/kernel/irixsig.c
 @@ -609,7 +609,7 @@ repeat:
   p = list_entry(_p,struct task_struct,sibling);
   if ((type == IRIX_P_PID)  p-pid != pid)
   continue;
 - if ((type == IRIX_P_PGID)  process_group(p) != pid)
 + if ((type == IRIX_P_PGID)  task_pgrp_nr(p) != pid)
   continue;
   if ((p-exit_signal != SIGCHLD))
   continue;
 diff --git a/arch/mips/kernel/sysirix.c b/arch/mips/kernel/sysirix.c
 index 93a1484..23c3e82 100644
 --- a/arch/mips/kernel/sysirix.c
 +++ b/arch/mips/kernel/sysirix.c
 @@ -763,11 +763,11 @@ asmlinkage int irix_setpgrp(int flags)
   printk([%s:%d] setpgrp(%d) , current-comm, current-pid, flags);
  #endif
   if(!flags)
 - error = process_group(current);
 + error = task_pgrp_nr(current);
   else
   error = sys_setsid();
  #ifdef DEBUG_PROCGRPS
 - printk(returning %d\n, process_group(current));
 + printk(returning %d\n, task_pgrp_nr(current));
  #endif
 
   return error;
 diff --git a/arch/sparc64/solaris/misc.c b/arch/sparc64/solaris/misc.c
 index 3b67de7..c86cb30 100644
 --- a/arch/sparc64/solaris/misc.c
 +++ b/arch/sparc64/solaris/misc.c
 @@ -415,7 +415,7 @@ asmlinkage int solaris_procids(int cmd, 
   
   switch (cmd) {
   case 0: /* getpgrp */
 - return process_group(current);
 + return task_pgrp_nr(current);
   case 1: /* setpgrp */
   {
   int (*sys_setpgid)(pid_t,pid_t) =
 @@ -426,7 +426,7 @@ asmlinkage int solaris_procids(int cmd, 
   ret = sys_setpgid(0, 0);
   if (ret) return ret;
   proc_clear_tty(current);
 - return process_group(current);
 + return task_pgrp_nr(current);
   }
   case 2: /* getsid */
   {
 diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
 index 4251904..260a1f3 100644
 --- a/drivers/char/tty_io.c
 +++ b/drivers/char/tty_io.c
 @@ -3486,7 +3486,7 @@ void __do_SAK(struct tty_struct *tty)
   /* Kill the entire session */
   do_each_pid_task(session, PIDTYPE_SID, p) {
   printk(KERN_NOTICE SAK: killed process %d
 -  (%s): process_session(p)==tty-session\n,
 +  (%s): task_session_nr(p)==tty-session\n,
   p-pid, p-comm);
   send_sig(SIGKILL, p, 1);
   } while_each_pid_task(session, PIDTYPE_SID, p);
 @@ -3496,7 +3496,7 @@ void __do_SAK(struct tty_struct *tty)
   do_each_thread(g, p) {
   if (p-signal-tty == tty) {
   printk(KERN_NOTICE SAK: killed process %d
 -  (%s): process_session(p)==tty-session\n,
 +  (%s): task_session_nr(p)==tty-session\n,
   p-pid, p-comm);
   send_sig(SIGKILL, p, 1);
   continue;
 diff --git a/fs/autofs/inode.c b/fs/autofs/inode.c
 index e7204d7..45f5992 100644
 --- a/fs/autofs/inode.c
 +++