lkml.org 
[lkml]   [2015]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.2 148/164] include/linux/sched.h: don't use task->pid/tgid in same_thread_group/has_group_leader_pid
    3.2.70-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Oleg Nesterov <oleg@redhat.com>

    commit e1403b8edf669ff49bbdf602cc97fefa2760cb15 upstream.

    task_struct->pid/tgid should go away.

    1. Change same_thread_group() to use task->signal for comparison.

    2. Change has_group_leader_pid(task) to compare task_pid(task) with
    signal->leader_pid.

    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
    Cc: Michal Hocko <mhocko@suse.cz>
    Cc: Sergey Dyasly <dserrg@gmail.com>
    Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Cc: Sheng Yong <shengyong1@huawei.com>
    ---
    include/linux/sched.h | 8 ++++----
    1 file changed, 4 insertions(+), 4 deletions(-)

    --- a/include/linux/sched.h
    +++ b/include/linux/sched.h
    @@ -2347,15 +2347,15 @@ static inline bool thread_group_leader(s
    * all we care about is that we have a task with the appropriate
    * pid, we don't actually care if we have the right task.
    */
    -static inline int has_group_leader_pid(struct task_struct *p)
    +static inline bool has_group_leader_pid(struct task_struct *p)
    {
    - return p->pid == p->tgid;
    + return task_pid(p) == p->signal->leader_pid;
    }

    static inline
    -int same_thread_group(struct task_struct *p1, struct task_struct *p2)
    +bool same_thread_group(struct task_struct *p1, struct task_struct *p2)
    {
    - return p1->tgid == p2->tgid;
    + return p1->signal == p2->signal;
    }

    static inline struct task_struct *next_thread(const struct task_struct *p)


    \
     
     \ /
      Last update: 2015-08-02 02:41    [W:3.381 / U:1.784 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site