lkml.org 
[lkml]   [2011]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: patch "TTY: remove tty_locked" added to tty tree
Date
On Tuesday 23 August 2011 20:54:08 Jiri Slaby wrote:
> On 08/23/2011 08:46 PM, Arnd Bergmann wrote:
> > According to http://kernelnewbies.org/BigKernelLock, I concluded back then
> > that tty_wait_until_sent would always be called without BTM held. Has that
> > changed recently, or did I miss a caller that holds the BTM?
>
> Every tty_operations->close and ->hangup :).

Ah, right, I remember. The chart I did was only to prove that locking was
consistent (i.e. no deadlocks), it ignored that the function needs to be
called without BTM because I had incorrectly convinced myself that the
wait_event_interruptible_timeout() didn't need to release it.

I think I just saw another problem: uart_close takes port->mutex while
holding the BTM, then calls tty_wait_until_sent(). If this releases
and reaquires the BTM, you get an AB-BA deadlock with port->mutex.

Arnd


\
 
 \ /
  Last update: 2011-08-24 10:49    [W:0.091 / U:0.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site