On Thu, Apr 14, 2016 at 07:37:03PM +0800, Xunlei Pang wrote:
> +     /* Updated under pi_lock and rtmutex lock */
>       struct rb_node *pi_waiters_leftmost;
> +     struct rb_node *pi_waiters_leftmost_copy;

>  struct task_struct *rt_mutex_get_top_task(struct task_struct *task)
>  {
> +     if (!task->pi_waiters_leftmost_copy)
>               return NULL;
>  
> +     return rb_entry(task->pi_waiters_leftmost_copy,
> +                             struct rt_mutex_waiter, pi_tree_entry)->task;
>  }

why ?! Why not keep a regular task_struct pointer and avoid this stuff?

Reply via email to