![]() | ||||||||||
Messages in this thread |
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 Cheers, -Matt Helsley - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | |||||||||
| Last update: 2006-11-01 22:23 [from the cache] ©2003-2008 | ||||||||||