Matt Helsley wrote: > On Wed, 2006-11-01 at 15:50 -0800, Paul Menage wrote: >> On 11/1/06, Matt Helsley <[EMAIL PROTECTED]> 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 > > Seems like a good idea to me -- that certainly avoids complex parsing. > > Cheers, > -Matt Helsley >
Yeah, sounds like a good idea. We need to give the controllers some control over whether they support task movement, thread movement or both. -- Balbir Singh, Linux Technology Center, IBM Software Labs ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ ckrm-tech mailing list https://lists.sourceforge.net/lists/listinfo/ckrm-tech