lkml.org 
[lkml]   [2006]   [Nov]   [1]   [last100]   RSS-feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Complete thread (EXPERIMENTAL)
/
DateWed, 1 Nov 2006 15:50:01 -0800
From"Paul Menage" <>
SubjectRe: [ckrm-tech] [RFC] Resource Management - Infrastructure choices
Digg This
On 11/1/06, Matt Helsley <matthltc@us.ibm.com> wrote:
On Wed, 2006-11-01 at 23:42 +0530, Srivatsa Vaddagiri wrote:
On Wed, Nov 01, 2006 at 12:30:13PM +0300, Pavel Emelianov wrote:

<snip>

- Support movement of all threads of a process from one group to another atomically?

I propose such a solution: if a user asks to move /proc/<pid> then move the whole task with threads.
If user asks to move /proc/<pid>/task/<tid> then move just a single thread.

What do you think?

Isnt /proc/<pid> listed also in /proc/<pid>/task/<tid>?
For ex:

# ls /proc/2906/task
2906 2907 2908 2909

2906 is the main thread which created the remaining threads.
This would lead to an ambiguity when user does something like below:
echo 2906 > /some_res_file_system/some_new_group
Is he intending to move just the main thread, 2906, to the new group or all the threads? It could be either.

This needs some more thought ...

I thought the idea was to take in a proc path instead of a single number. You could then distinguish between the whole thread group and individual threads by parsing the string. You'd move a single thread if you find both the tgid and the tid. If you only get a tgid you'd move the whole thread group. So:

<pid> -> if it's a thread group leader move the whole thread group, otherwise just move the thread
/proc/<tgid> -> move the whole thread group /proc/<tgid>/task/<tid> -> move the thread

Alternatives that come to mind are:

1. Read a flag with the pid
2. Use a special file which expects only thread groups as input

I think that having a "tasks" file and a "threads" file in each container directory would be a clean way to handle it:
"tasks" : read/write complete process members "threads" : read/write individual thread members
Paul
\
ISP Services
Valid XHTML 1.0!\ /
Valid CSS! Last update: 2006-11-01 23:53    [W:7.766 / U:0.020 seconds]
©2003-2005 Jasper Spaans