OpenVZ Forum


Home » Mailing lists » Devel » [PATCH] Use task_pid_nr() instead of pid_nr(task_pid())
[PATCH] Use task_pid_nr() instead of pid_nr(task_pid()) [message #21223] Wed, 03 October 2007 14:26 Go to next message
Pavel Emelianov is currently offline  Pavel Emelianov
Messages: 1149
Registered: September 2006
Senior Member
There are two places that do so - the cgroups subsystem 
and the autofs code.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>

---

diff --git a/fs/autofs/root.c b/fs/autofs/root.c
index 592f640..5efff3c 100644
--- a/fs/autofs/root.c
+++ b/fs/autofs/root.c
@@ -214,7 +214,7 @@ static struct dentry *autofs_root_lookup
 
 	oz_mode = autofs_oz_mode(sbi);
 	DPRINTK(("autofs_lookup: pid = %u, pgrp = %u, catatonic = %d, "
-				"oz_mode = %d\n", pid_nr(task_pid(current)),
+				"oz_mode = %d\n", task_pid_nr(current),
 				task_pgrp_nr(current), sbi->catatonic,
 				oz_mode));
 
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 1e8aa53..8720881 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -1762,7 +1762,7 @@ static int pid_array_load(pid_t *pidarra
 	while ((tsk = cgroup_iter_next(cont, &it))) {
 		if (unlikely(n == npids))
 			break;
-		pidarray[n++] = pid_nr(task_pid(tsk));
+		pidarray[n++] = task_pid_nr(tsk);
 	}
 	cgroup_iter_end(cont, &it);
 	return n;
Re: [PATCH] Use task_pid_nr() instead of pid_nr(task_pid()) [message #21370 is a reply to message #21223] Fri, 05 October 2007 23:15 Go to previous messageGo to next message
akpm is currently offline  akpm
Messages: 224
Registered: March 2007
Senior Member
On Wed, 03 Oct 2007 18:26:06 +0400
Pavel Emelyanov <xemul@openvz.org> wrote:

> There are two places that do so - the cgroups subsystem 
> and the autofs code.
> 
> Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
> 
> ---
> 
> diff --git a/fs/autofs/root.c b/fs/autofs/root.c
> index 592f640..5efff3c 100644
> --- a/fs/autofs/root.c
> +++ b/fs/autofs/root.c
> @@ -214,7 +214,7 @@ static struct dentry *autofs_root_lookup
>  
>  	oz_mode = autofs_oz_mode(sbi);
>  	DPRINTK(("autofs_lookup: pid = %u, pgrp = %u, catatonic = %d, "
> -				"oz_mode = %d\n", pid_nr(task_pid(current)),
> +				"oz_mode = %d\n", task_pid_nr(current),
>  				task_pgrp_nr(current), sbi->catatonic,
>  				oz_mode));
>  
> diff --git a/kernel/cgroup.c b/kernel/cgroup.c
> index 1e8aa53..8720881 100644
> --- a/kernel/cgroup.c
> +++ b/kernel/cgroup.c
> @@ -1762,7 +1762,7 @@ static int pid_array_load(pid_t *pidarra
>  	while ((tsk = cgroup_iter_next(cont, &it))) {
>  		if (unlikely(n == npids))
>  			break;
> -		pidarray[n++] = pid_nr(task_pid(tsk));
> +		pidarray[n++] = task_pid_nr(tsk);
>  	}
>  	cgroup_iter_end(cont, &it);
>  	return n;

And more will appear over time unless we remove pid_nr() altogether.

Can we do that?
Re: [PATCH] Use task_pid_nr() instead of pid_nr(task_pid()) [message #21405 is a reply to message #21370] Mon, 08 October 2007 08:57 Go to previous message
Pavel Emelianov is currently offline  Pavel Emelianov
Messages: 1149
Registered: September 2006
Senior Member
Andrew Morton wrote:
> On Wed, 03 Oct 2007 18:26:06 +0400
> Pavel Emelyanov <xemul@openvz.org> wrote:
> 
>> There are two places that do so - the cgroups subsystem 
>> and the autofs code.
>>
>> Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
>>
>> ---
>>
>> diff --git a/fs/autofs/root.c b/fs/autofs/root.c
>> index 592f640..5efff3c 100644
>> --- a/fs/autofs/root.c
>> +++ b/fs/autofs/root.c
>> @@ -214,7 +214,7 @@ static struct dentry *autofs_root_lookup
>>  
>>  	oz_mode = autofs_oz_mode(sbi);
>>  	DPRINTK(("autofs_lookup: pid = %u, pgrp = %u, catatonic = %d, "
>> -				"oz_mode = %d\n", pid_nr(task_pid(current)),
>> +				"oz_mode = %d\n", task_pid_nr(current),
>>  				task_pgrp_nr(current), sbi->catatonic,
>>  				oz_mode));
>>  
>> diff --git a/kernel/cgroup.c b/kernel/cgroup.c
>> index 1e8aa53..8720881 100644
>> --- a/kernel/cgroup.c
>> +++ b/kernel/cgroup.c
>> @@ -1762,7 +1762,7 @@ static int pid_array_load(pid_t *pidarra
>>  	while ((tsk = cgroup_iter_next(cont, &it))) {
>>  		if (unlikely(n == npids))
>>  			break;
>> -		pidarray[n++] = pid_nr(task_pid(tsk));
>> +		pidarray[n++] = task_pid_nr(tsk);
>>  	}
>>  	cgroup_iter_end(cont, &it);
>>  	return n;
> 
> And more will appear over time unless we remove pid_nr() altogether.
> 
> Can we do that?

Hardly. 

There are places that store the struct pid and try to obtain its number
later. E.g. tiocgpgrp() wants to tell user the pgrp nr of the tty's 
active group; fgetown() tells user the number of file's owner pid or (!)
pgrp; file locks need to store the pid and report it later (this is not 
implemented yet, I'm still working on it) and so on and so forth.

Thanks,
Pavel
Previous Topic: [PATCH][NETNS] Move some code into __init section when CONFIG_NET_NS=n
Next Topic: [PATCH] virtualization of sysv msg queues is incomplete
Goto Forum:
  


Current Time: Mon Nov 18 23:31:49 GMT 2024

Total time taken to generate the page: 0.02924 seconds