lkml.org 
[lkml]   [2006]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [ckrm-tech] [RFC] Resource Management - Infrastructure choices
    Matt Helsley wrote:
    > On Wed, 2006-11-01 at 15:50 -0800, Paul Menage wrote:
    >> 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
    >
    > 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
    -
    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-02 06:37    [W:0.028 / U:1.736 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site