On Thu, 5 Jun 2014, Steven Rostedt wrote:
> On Thu, 05 Jun 2014 15:28:32 -
> Thomas Gleixner wrote:
>
>
> > @@ -1112,7 +1134,8 @@ int rt_mutex_start_proxy_lock(struct rt_
> > return 1;
> > }
> >
> > - ret = task_blocks_on_rt_mutex(lock, waiter, task, detect_deadlock);
>
On Thu, 5 Jun 2014, Steven Rostedt wrote:
> On Thu, 05 Jun 2014 15:28:32 -
> Thomas Gleixner wrote:
>
> > Index: tip/kernel/locking/rtmutex.h
> > ===
> > --- tip.orig/kernel/locking/rtmutex.h
> > +++ tip/kernel/locking/rtmutex.h
On Thu, 05 Jun 2014 15:28:32 -
Thomas Gleixner wrote:
> Index: tip/kernel/locking/rtmutex.h
> ===
> --- tip.orig/kernel/locking/rtmutex.h
> +++ tip/kernel/locking/rtmutex.h
> @@ -21,6 +21,10 @@
> #define debug_rt_mutex_unlock(l)
On Thu, 05 Jun 2014 15:28:32 -
Thomas Gleixner wrote:
> @@ -1112,7 +1134,8 @@ int rt_mutex_start_proxy_lock(struct rt_
> return 1;
> }
>
> - ret = task_blocks_on_rt_mutex(lock, waiter, task, detect_deadlock);
> + /* We enforce deadlock detection for futexes */
>
Even in the case when deadlock detection is not requested by the
caller, we can detect deadlocks. Right now the code stops the lock
chain walk and keeps the waiter enqueued, even on itself. Silly not to
yell when such a scenario is detected and to keep the waiter enqueued.
Return -EDEADLK uncondit
5 matches
Mail list logo