lkml.org 
[lkml]   [2011]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:core/futexes] futex,plist: Remove debug lock assignment from plist_node
    Commit-ID:  017f2b239dabb2740b91df162e004371b861f371
    Gitweb: http://git.kernel.org/tip/017f2b239dabb2740b91df162e004371b861f371
    Author: Lai Jiangshan <laijs@cn.fujitsu.com>
    AuthorDate: Tue, 21 Dec 2010 17:55:10 +0800
    Committer: Steven Rostedt <rostedt@goodmis.org>
    CommitDate: Fri, 11 Mar 2011 15:09:53 -0500

    futex,plist: Remove debug lock assignment from plist_node

    The original code uses &plist_node->plist as the fake head of
    the priority list for plist_del(), these debug locks in
    the fake head are needed for CONFIG_DEBUG_PI_LIST.

    But now we always pass the real head to plist_del(), the debug locks
    in plist_node will not be used, so we remove these assignments.

    Acked-by: Darren Hart <dvhart@linux.intel.com>
    Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
    LKML-Reference: <4D10797E.7040803@cn.fujitsu.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    ---
    kernel/futex.c | 9 ---------
    1 files changed, 0 insertions(+), 9 deletions(-)

    diff --git a/kernel/futex.c b/kernel/futex.c
    index 6feeea4..9fe9131 100644
    --- a/kernel/futex.c
    +++ b/kernel/futex.c
    @@ -1089,9 +1089,6 @@ void requeue_futex(struct futex_q *q, struct futex_hash_bucket *hb1,
    plist_del(&q->list, &hb1->chain);
    plist_add(&q->list, &hb2->chain);
    q->lock_ptr = &hb2->lock;
    -#ifdef CONFIG_DEBUG_PI_LIST
    - q->list.plist.spinlock = &hb2->lock;
    -#endif
    }
    get_futex_key_refs(key2);
    q->key = *key2;
    @@ -1124,9 +1121,6 @@ void requeue_pi_wake_futex(struct futex_q *q, union futex_key *key,
    q->rt_waiter = NULL;

    q->lock_ptr = &hb->lock;
    -#ifdef CONFIG_DEBUG_PI_LIST
    - q->list.plist.spinlock = &hb->lock;
    -#endif

    wake_up_state(q->task, TASK_NORMAL);
    }
    @@ -1474,9 +1468,6 @@ static inline void queue_me(struct futex_q *q, struct futex_hash_bucket *hb)
    prio = min(current->normal_prio, MAX_RT_PRIO);

    plist_node_init(&q->list, prio);
    -#ifdef CONFIG_DEBUG_PI_LIST
    - q->list.plist.spinlock = &hb->lock;
    -#endif
    plist_add(&q->list, &hb->chain);
    q->task = current;
    spin_unlock(&hb->lock);

    \
     
     \ /
      Last update: 2011-03-12 12:01    [W:0.023 / U:1.172 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site