Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1383365 > unrolled thread
| Started by | Peter Zijlstra <peterz@infradead.org> |
|---|---|
| First post | 2016-04-20 15:20 +0200 |
| Last post | 2016-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.
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
| From | Peter Zijlstra <peterz@infradead.org> |
|---|---|
| Date | 2016-04-20 15:20 +0200 |
| Subject | Re: [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]
| From | Xunlei Pang <xpang@redhat.com> |
|---|---|
| Date | 2016-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]
| From | Xunlei Pang <xpang@redhat.com> |
|---|---|
| Date | 2016-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