Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1383365 > unrolled thread

Re: [PATCH v3 2/6] sched/rtmutex/deadline: Fix a PI crash for deadline tasks

Started byPeter Zijlstra <peterz@infradead.org>
First post2016-04-20 15:20 +0200
Last post2016-04-22 05:30 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v3 2/6] sched/rtmutex/deadline: Fix a PI crash for  deadline tasks Peter Zijlstra <peterz@infradead.org> - 2016-04-20 15:20 +0200
    Re: [PATCH v3 2/6] sched/rtmutex/deadline: Fix a PI crash for  deadline tasks Xunlei Pang <xpang@redhat.com> - 2016-04-20 15:50 +0200
      Re: [PATCH v3 2/6] sched/rtmutex/deadline: Fix a PI crash for  deadline tasks Xunlei Pang <xpang@redhat.com> - 2016-04-22 05:30 +0200

#1383365 — Re: [PATCH v3 2/6] sched/rtmutex/deadline: Fix a PI crash for deadline tasks

FromPeter Zijlstra <peterz@infradead.org>
Date2016-04-20 15:20 +0200
SubjectRe: [PATCH v3 2/6] sched/rtmutex/deadline: Fix a PI crash for deadline tasks
Message-ID<rq0cV-8rY-3@gated-at.bofh.it>
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?

[toc] | [next] | [standalone]


#1383406

FromXunlei Pang <xpang@redhat.com>
Date2016-04-20 15:50 +0200
Message-ID<rq0FZ-fr-25@gated-at.bofh.it>
In reply to#1383365
On 2016/04/20 at 21:19, Peter Zijlstra wrote:
> 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?

I meant to make it semantically consistent, but I can change it since you think task_struct is better.

Regards,
Xunlei

[toc] | [prev] | [next] | [standalone]


#1384676

FromXunlei Pang <xpang@redhat.com>
Date2016-04-22 05:30 +0200
Message-ID<rqzX3-3rj-3@gated-at.bofh.it>
In reply to#1383406
Hi Peter,

On 2016/04/20 at 21:49, Xunlei Pang wrote:
> On 2016/04/20 at 21:19, Peter Zijlstra wrote:
>> 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?
> I meant to make it semantically consistent, but I can change it since you think task_struct is better.

What do you think this version of PATCH1 and PATCH2?
If you are fine with it, I can sent it out as v4 separately, then we can focus on the issue in PATCH5.

Thanks!

>
> Regards,
> Xunlei

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web