linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <levinsasha928@gmail.com>
To: Peter Hurley <peter@hurleysoftware.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jslaby@suse.cz>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org,
	Ilya Zykov <ilya@ilyx.ru>, Dave Jones <davej@redhat.com>,
	Michael Ellerman <michael@ellerman.id.au>,
	Shawn Guo <shawn.guo@linaro.org>
Subject: Re: [PATCH v4 00/32] ldisc patchset
Date: Sat, 23 Feb 2013 11:42:22 -0500	[thread overview]
Message-ID: <5128F16E.30804@gmail.com> (raw)
In-Reply-To: <5128DF40.7030003@gmail.com>

On 02/23/2013 10:24 AM, Sasha Levin wrote:
> On 02/22/2013 01:37 PM, Peter Hurley wrote:
>> On Thu, 2013-02-21 at 08:38 -0500, Peter Hurley wrote:
>>> On Thu, 2013-02-21 at 08:16 -0500, Sasha Levin wrote:
>>>> On 02/20/2013 03:02 PM, Peter Hurley wrote:
>>>>> Sasha and Dave, my trinity testbeds die in other areas right now;
>>>>> I would really appreciate if you would please re-test this series.
>>>>
>>>> Hi Peter,
>>>>
>>>> I saw this twice in overnight fuzzing:
>>>>
>>>> [ 1473.912280] =================================
>>>> [ 1473.913180] [ BUG: bad contention detected! ]
>>>> [ 1473.914071] 3.8.0-next-20130220-sasha-00038-g1ad55df-dirty #8 Tainted: G        W
>>>> [ 1473.915684] ---------------------------------
>>>> [ 1473.916549] kworker/1:1/361 is trying to contend lock (&tty->ldisc_sem) at:
>>>> [ 1473.918031] [<ffffffff81c493df>] tty_ldisc_ref+0x1f/0x60
>>>> [ 1473.919060] but there are no locks held!
>>>
>>> Ahh, of course. That explains why the rwsem trylock doesn't track lock
>>> stats -- because by the time lock_contended() is called, up_write()
>>> could have just called lockdep_release(), so that it appears as if the
>>> lock has been released when in fact it has not but is about to.
>>>
>>> I'll just remove the lock contention test from the trylocks.
>>
>> Hi Sasha,
>>
>> Sorry for the delay. I was actually looking into if I could tickle
>> lockdep into just recording the lock contention without testing, but
>> unfortunately, changes to where lockdep stores the contention now
>> requires the lockdep state to have an existing owner.
>>
>> So here's the trivial patch:
> 
> Hi Peter,
> 
> After more fuzzing, I'm seeing this sort of hangs (which are new):
> 
> [ 2644.723879] INFO: task trinity:17893 blocked for more than 120 seconds.
> [ 2644.727112] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> [ 2644.731916] trinity         D ffff8800a9c904a8  5192 17893   8043 0x00000000
> [ 2644.733517]  ffff88006efb3a78 0000000000000002 ffff8800aa0c3b10 ffff8800bb3d7180
> [ 2644.739350]  ffff880019103000 ffff880097a78000 ffff88006efb3a78 00000000001d7180
> [ 2644.741459]  ffff880097a78000 ffff88006efb3fd8 00000000001d7180 00000000001d7180
> [ 2644.746590] Call Trace:
> [ 2644.747177]  [<ffffffff83db9909>] __schedule+0x2e9/0x3b0
> [ 2644.748294]  [<ffffffff83db9b35>] schedule+0x55/0x60
> [ 2644.752382]  [<ffffffff83db9e83>] schedule_preempt_disabled+0x13/0x20
> [ 2644.753737]  [<ffffffff83db7fdd>] __mutex_lock_common+0x34d/0x560
> [ 2644.759037]  [<ffffffff81c40893>] ? ptmx_open+0x83/0x190
> [ 2644.760590]  [<ffffffff83db84b5>] ? __mutex_unlock_slowpath+0x185/0x1e0
> [ 2644.762064]  [<ffffffff81c40893>] ? ptmx_open+0x83/0x190
> [ 2644.768967]  [<ffffffff83db831f>] mutex_lock_nested+0x3f/0x50
> [ 2644.770314]  [<ffffffff81c40893>] ptmx_open+0x83/0x190
> [ 2644.771413]  [<ffffffff812917ae>] chrdev_open+0x11e/0x190
> [ 2644.780456]  [<ffffffff81291690>] ? cdev_put+0x30/0x30
> [ 2644.781421]  [<ffffffff8128af59>] do_dentry_open+0x1f9/0x310
> [ 2644.785550]  [<ffffffff8128b0bc>] finish_open+0x4c/0x70
> [ 2644.786724]  [<ffffffff8129c3eb>] do_last+0x61b/0x810
> [ 2644.787676]  [<ffffffff8129c699>] path_openat+0xb9/0x4d0
> [ 2644.791868]  [<ffffffff812ac278>] ? __alloc_fd+0x1e8/0x200
> [ 2644.792817]  [<ffffffff81185214>] ? lock_release_nested+0xb4/0xf0
> [ 2644.794010]  [<ffffffff81185331>] ? __lock_release+0xe1/0x100
> [ 2644.797401]  [<ffffffff8129cebd>] do_filp_open+0x3d/0xa0
> [ 2644.798467]  [<ffffffff812ac278>] ? __alloc_fd+0x1e8/0x200
> [ 2644.799577]  [<ffffffff8128c51b>] do_sys_open+0x12b/0x1d0
> [ 2644.804667]  [<ffffffff8128c5dc>] sys_open+0x1c/0x20
> [ 2644.805542]  [<ffffffff83dc49d8>] tracesys+0xe1/0xe6
> [ 2644.822807] 1 lock held by trinity/17893:
> [ 2644.823685]  #0:  (tty_mutex){+.+.+.}, at: [<ffffffff81c40893>] ptmx_open+0x83/0x190
> 
> The mutex is 'tty_mutex' at drivers/tty/pty.c:701 .
> 
> I didn't grab sysrq-t this time since it was an overnight run, but I'll
> try to grab one when it happens again.

Hi Peter,

I've also got this one for the first time:
[  484.450139] INFO: task init:1 blocked for more than 120 seconds.
[  484.451130] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  484.452013] init            D 00000000001d7180  2688     1      0 0x00000002
[  484.452883]  ffff8800b9acfba8 0000000000000002 00000000001d7180 ffff8800b9b10048
[  484.453816]  ffff8800b94cb000 ffff8800b9b10000 00000000001d7180 00000000001d7180
[  484.454529]  ffff8800b9b10000 ffff8800b9acffd8 00000000001d7180 00000000001d7180
[  484.455232] Call Trace:
[  484.455515]  [<ffffffff83db9909>] __schedule+0x2e9/0x3b0
[  484.456081]  [<ffffffff83db9b35>] schedule+0x55/0x60
[  484.456636]  [<ffffffff83db74ba>] schedule_timeout+0x3a/0x370
[  484.457263]  [<ffffffff81182349>] ? mark_held_locks+0xf9/0x130
[  484.457866]  [<ffffffff83dbab38>] ? down_failed+0x108/0x200
[  484.458539]  [<ffffffff83dbb7ab>] ? _raw_spin_unlock_irq+0x2b/0x80
[  484.459223]  [<ffffffff81182608>] ? trace_hardirqs_on_caller+0x128/0x160
[  484.459822]  [<ffffffff83dbab61>] down_failed+0x131/0x200
[  484.460512]  [<ffffffff83dbbfad>] ? tty_ldisc_lock_pair_timeout+0xcd/0x120
[  484.461376]  [<ffffffff83dbae03>] ldsem_down_write+0xd3/0x113
[  484.461895]  [<ffffffff83dbbfad>] ? tty_ldisc_lock_pair_timeout+0xcd/0x120
[  484.462824]  [<ffffffff8118264d>] ? trace_hardirqs_on+0xd/0x10
[  484.463504]  [<ffffffff83dbbfad>] tty_ldisc_lock_pair_timeout+0xcd/0x120
[  484.464258]  [<ffffffff81c3df60>] tty_ldisc_hangup+0xd0/0x220
[  484.464825]  [<ffffffff81c35bd7>] __tty_hangup+0x137/0x4f0
[  484.465684]  [<ffffffff81c37c7c>] disassociate_ctty+0x6c/0x230
[  484.466607]  [<ffffffff8111290c>] do_exit+0x41c/0x590
[  484.467419]  [<ffffffff8107ad34>] ? syscall_trace_enter+0x24/0x2e0
[  484.468413]  [<ffffffff81112b4a>] do_group_exit+0x8a/0xc0
[  484.469281]  [<ffffffff81112b92>] sys_exit_group+0x12/0x20
[  484.470159]  [<ffffffff83dc49d8>] tracesys+0xe1/0xe6
[  484.470951] 1 lock held by init/1:
[  484.471513]  #0:  (&tty->ldisc_sem){++++++}, at: [<ffffffff83dbbfad>] tty_ldisc_lock_pair_timeout+0xcd/0x120
[  484.473290] INFO: task trinity:9732 blocked for more than 120 seconds.
[  484.474324] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  484.475540] trinity         D 00000000001d7180  4992  9732      1 0x00000000
[  484.476691]  ffff8800915ddc28 0000000000000002 00000000001d7180 ffff8800aa09d208
[  484.477933]  ffff8800b94b3000 ffff880070188000 00000000001d7180 00000000001d7180
[  484.479180]  ffff880070188000 ffff8800915ddfd8 00000000001d7180 00000000001d7180
[  484.480387] Call Trace:
[  484.480744]  [<ffffffff83db9909>] __schedule+0x2e9/0x3b0
[  484.481487]  [<ffffffff83db9b35>] schedule+0x55/0x60
[  484.482258]  [<ffffffff83db74ba>] schedule_timeout+0x3a/0x370
[  484.483164]  [<ffffffff81182349>] ? mark_held_locks+0xf9/0x130
[  484.484059]  [<ffffffff83dbab38>] ? down_failed+0x108/0x200
[  484.484915]  [<ffffffff83dbb7ab>] ? _raw_spin_unlock_irq+0x2b/0x80
[  484.485866]  [<ffffffff81182608>] ? trace_hardirqs_on_caller+0x128/0x160
[  484.486890]  [<ffffffff83dbab61>] down_failed+0x131/0x200
[  484.487714]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  484.488628]  [<ffffffff83dbacbc>] ldsem_down_read+0x8c/0x100
[  484.489522]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  484.490463]  [<ffffffff81185331>] ? __lock_release+0xe1/0x100
[  484.491349]  [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  484.491967]  [<ffffffff81c36508>] tty_write+0x98/0xf0
[  484.492442]  [<ffffffff81a38938>] ? do_raw_spin_unlock+0xc8/0xe0
[  484.493000]  [<ffffffff81c365f5>] redirected_tty_write+0x95/0xc0
[  484.493826]  [<ffffffff8128ce38>] vfs_write+0xb8/0x180
[  484.494643]  [<ffffffff8128d170>] sys_write+0x50/0xa0
[  484.495460]  [<ffffffff83dc49d8>] tracesys+0xe1/0xe6
[  484.496398] 1 lock held by trinity/9732:
[  484.497032]  #0:  (&tty->ldisc_sem){++++++}, at: [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  484.498606] INFO: task trinity:10089 blocked for more than 120 seconds.
[  484.499640] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  484.500885] trinity         D 00000000001d7180  5224 10089      1 0x00000000
[  484.502053]  ffff88006bb2bc28 0000000000000002 00000000001d7180 ffff8800aa09d208
[  484.503256]  ffff8800b94b3000 ffff880094303000 00000000001d7180 00000000001d7180
[  484.504450]  ffff880094303000 ffff88006bb2bfd8 00000000001d7180 00000000001d7180
[  484.505657] Call Trace:
[  484.506052]  [<ffffffff83db9909>] __schedule+0x2e9/0x3b0
[  484.506871]  [<ffffffff83db9b35>] schedule+0x55/0x60
[  484.507650]  [<ffffffff83db74ba>] schedule_timeout+0x3a/0x370
[  484.508542]  [<ffffffff81182349>] ? mark_held_locks+0xf9/0x130
[  484.509446]  [<ffffffff83dbab38>] ? down_failed+0x108/0x200
[  484.510312]  [<ffffffff83dbb7ab>] ? _raw_spin_unlock_irq+0x2b/0x80
[  484.511285]  [<ffffffff81182608>] ? trace_hardirqs_on_caller+0x128/0x160
[  484.512276]  [<ffffffff83dbab61>] down_failed+0x131/0x200
[  484.512813]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  484.513459]  [<ffffffff83dbacbc>] ldsem_down_read+0x8c/0x100
[  484.514345]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  484.515263]  [<ffffffff81185331>] ? __lock_release+0xe1/0x100
[  484.516135]  [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  484.517049]  [<ffffffff81c36508>] tty_write+0x98/0xf0
[  484.517842]  [<ffffffff81a38938>] ? do_raw_spin_unlock+0xc8/0xe0
[  484.518780]  [<ffffffff81c365f5>] redirected_tty_write+0x95/0xc0
[  484.519730]  [<ffffffff8128ce38>] vfs_write+0xb8/0x180
[  484.520590]  [<ffffffff8128d170>] sys_write+0x50/0xa0
[  484.521108]  [<ffffffff83dc49d8>] tracesys+0xe1/0xe6
[  484.521976] 1 lock held by trinity/10089:
[  484.522619]  #0:  (&tty->ldisc_sem){++++++}, at: [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  484.524181] INFO: task trinity:10254 blocked for more than 120 seconds.
[  484.525200] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  484.526405] trinity         D 00000000001d7180  5240 10254      1 0x00000000
[  484.527559]  ffff880096219c28 0000000000000002 00000000001d7180 ffff8800aa09cb78
[  484.528799]  ffff8800b94c3000 ffff8800961a8000 00000000001d7180 00000000001d7180
[  484.530059]  ffff8800961a8000 ffff880096219fd8 00000000001d7180 00000000001d7180
[  484.531205] Call Trace:
[  484.531593]  [<ffffffff83db9909>] __schedule+0x2e9/0x3b0
[  484.532185]  [<ffffffff83db9b35>] schedule+0x55/0x60
[  484.532964]  [<ffffffff83db74ba>] schedule_timeout+0x3a/0x370
[  484.533865]  [<ffffffff81182349>] ? mark_held_locks+0xf9/0x130
[  484.534784]  [<ffffffff83dbab38>] ? down_failed+0x108/0x200
[  484.535669]  [<ffffffff83dbb7ab>] ? _raw_spin_unlock_irq+0x2b/0x80
[  484.536660]  [<ffffffff81182608>] ? trace_hardirqs_on_caller+0x128/0x160
[  484.537716]  [<ffffffff83dbab61>] down_failed+0x131/0x200
[  484.538568]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  484.539511]  [<ffffffff83dbacbc>] ldsem_down_read+0x8c/0x100
[  484.540426]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  484.541321]  [<ffffffff81185331>] ? __lock_release+0xe1/0x100
[  484.542097]  [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  484.542754]  [<ffffffff81c36508>] tty_write+0x98/0xf0
[  484.543299]  [<ffffffff81a38938>] ? do_raw_spin_unlock+0xc8/0xe0
[  484.543930]  [<ffffffff81c365f5>] redirected_tty_write+0x95/0xc0
[  484.544529]  [<ffffffff8128ce38>] vfs_write+0xb8/0x180
[  484.545109]  [<ffffffff8128d170>] sys_write+0x50/0xa0
[  484.545590]  [<ffffffff83dc49d8>] tracesys+0xe1/0xe6
[  484.546280] 1 lock held by trinity/10254:
[  484.546841]  #0:  (&tty->ldisc_sem){++++++}, at: [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  484.547890] INFO: task trinity:10643 blocked for more than 120 seconds.
[  484.548516] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  484.549320] trinity         D 00000000001d7180  5432 10643      1 0x00000000
[  484.550051]  ffff88006adafc28 0000000000000002 00000000001d7180 ffff8800aa09cec0
[  484.551316]  ffff8800b94c0000 ffff880090a6b000 00000000001d7180 00000000001d7180
[  484.552233]  ffff880090a6b000 ffff88006adaffd8 00000000001d7180 00000000001d7180
[  484.553283] Call Trace:
[  484.553564]  [<ffffffff83db9909>] __schedule+0x2e9/0x3b0
[  484.554125]  [<ffffffff83db9b35>] schedule+0x55/0x60
[  484.554746]  [<ffffffff83db74ba>] schedule_timeout+0x3a/0x370
[  484.555490]  [<ffffffff81182349>] ? mark_held_locks+0xf9/0x130
[  484.556289]  [<ffffffff83dbab38>] ? down_failed+0x108/0x200
[  484.556892]  [<ffffffff83dbb7ab>] ? _raw_spin_unlock_irq+0x2b/0x80
[  484.557576]  [<ffffffff81182608>] ? trace_hardirqs_on_caller+0x128/0x160
[  484.558452]  [<ffffffff83dbab61>] down_failed+0x131/0x200
[  484.559045]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  484.559786]  [<ffffffff83dbacbc>] ldsem_down_read+0x8c/0x100
[  484.560742]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  484.561913]  [<ffffffff81185331>] ? __lock_release+0xe1/0x100
[  484.562875]  [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  484.563587]  [<ffffffff81c36508>] tty_write+0x98/0xf0
[  484.564126]  [<ffffffff81a38938>] ? do_raw_spin_unlock+0xc8/0xe0
[  484.564938]  [<ffffffff81c365f5>] redirected_tty_write+0x95/0xc0
[  484.565569]  [<ffffffff8128ce38>] vfs_write+0xb8/0x180
[  484.566098]  [<ffffffff8128d170>] sys_write+0x50/0xa0
[  484.566740]  [<ffffffff83dc49d8>] tracesys+0xe1/0xe6
[  484.567436] 1 lock held by trinity/10643:
[  484.567932]  #0:  (&tty->ldisc_sem){++++++}, at: [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  484.569211] INFO: task trinity:11088 blocked for more than 120 seconds.
[  484.569980] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  484.571067] trinity         D 00000000001d7180  5608 11088      1 0x00000000
[  484.572132]  ffff88006b197c28 0000000000000002 00000000001d7180 ffff8800aa09cb78
[  484.573011]  ffff8800b94c3000 ffff88009a633000 00000000001d7180 00000000001d7180
[  484.573876]  ffff88009a633000 ffff88006b197fd8 00000000001d7180 00000000001d7180
[  484.574822] Call Trace:
[  484.575092]  [<ffffffff83db9909>] __schedule+0x2e9/0x3b0
[  484.575811]  [<ffffffff83db9b35>] schedule+0x55/0x60
[  484.576413]  [<ffffffff83db74ba>] schedule_timeout+0x3a/0x370
[  484.577003]  [<ffffffff81182349>] ? mark_held_locks+0xf9/0x130
[  484.577732]  [<ffffffff83dbab38>] ? down_failed+0x108/0x200
[  484.578381]  [<ffffffff83dbb7ab>] ? _raw_spin_unlock_irq+0x2b/0x80
[  484.579070]  [<ffffffff81182608>] ? trace_hardirqs_on_caller+0x128/0x160
[  484.579836]  [<ffffffff83dbab61>] down_failed+0x131/0x200
[  484.580600]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  484.581320]  [<ffffffff83dbacbc>] ldsem_down_read+0x8c/0x100
[  484.581947]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  484.582536]  [<ffffffff81185331>] ? __lock_release+0xe1/0x100
[  484.583061]  [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  484.583741]  [<ffffffff81c36508>] tty_write+0x98/0xf0
[  484.584215]  [<ffffffff81a38938>] ? do_raw_spin_unlock+0xc8/0xe0
[  484.584893]  [<ffffffff81c365f5>] redirected_tty_write+0x95/0xc0
[  484.585491]  [<ffffffff8128ce38>] vfs_write+0xb8/0x180
[  484.586000]  [<ffffffff8128d170>] sys_write+0x50/0xa0
[  484.586543]  [<ffffffff83dc49d8>] tracesys+0xe1/0xe6
[  484.587211] 1 lock held by trinity/11088:
[  484.587599]  #0:  (&tty->ldisc_sem){++++++}, at: [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  604.580385] INFO: task init:1 blocked for more than 120 seconds.
[  604.581345] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  604.582364] init            D 00000000001d7180  2688     1      0 0x00000002
[  604.583115]  ffff8800b9acfba8 0000000000000002 00000000001d7180 ffff8800b9b10048
[  604.583949]  ffff8800b94cb000 ffff8800b9b10000 00000000001d7180 00000000001d7180
[  604.584652]  ffff8800b9b10000 ffff8800b9acffd8 00000000001d7180 00000000001d7180
[  604.585375] Call Trace:
[  604.585680]  [<ffffffff83db9909>] __schedule+0x2e9/0x3b0
[  604.586213]  [<ffffffff83db9b35>] schedule+0x55/0x60
[  604.586744]  [<ffffffff83db74ba>] schedule_timeout+0x3a/0x370
[  604.587322]  [<ffffffff81182349>] ? mark_held_locks+0xf9/0x130
[  604.587850]  [<ffffffff83dbab38>] ? down_failed+0x108/0x200
[  604.588379]  [<ffffffff83dbb7ab>] ? _raw_spin_unlock_irq+0x2b/0x80
[  604.588991]  [<ffffffff81182608>] ? trace_hardirqs_on_caller+0x128/0x160
[  604.589743]  [<ffffffff83dbab61>] down_failed+0x131/0x200
[  604.590598]  [<ffffffff83dbbfad>] ? tty_ldisc_lock_pair_timeout+0xcd/0x120
[  604.591651]  [<ffffffff83dbae03>] ldsem_down_write+0xd3/0x113
[  604.592467]  [<ffffffff83dbbfad>] ? tty_ldisc_lock_pair_timeout+0xcd/0x120
[  604.593494]  [<ffffffff8118264d>] ? trace_hardirqs_on+0xd/0x10
[  604.594402]  [<ffffffff83dbbfad>] tty_ldisc_lock_pair_timeout+0xcd/0x120
[  604.595445]  [<ffffffff81c3df60>] tty_ldisc_hangup+0xd0/0x220
[  604.596324]  [<ffffffff81c35bd7>] __tty_hangup+0x137/0x4f0
[  604.597159]  [<ffffffff81c37c7c>] disassociate_ctty+0x6c/0x230
[  604.598047]  [<ffffffff8111290c>] do_exit+0x41c/0x590
[  604.598872]  [<ffffffff8107ad34>] ? syscall_trace_enter+0x24/0x2e0
[  604.599827]  [<ffffffff81112b4a>] do_group_exit+0x8a/0xc0
[  604.600686]  [<ffffffff81112b92>] sys_exit_group+0x12/0x20
[  604.601568]  [<ffffffff83dc49d8>] tracesys+0xe1/0xe6
[  604.608562] 1 lock held by init/1:
[  604.609053]  #0:  (&tty->ldisc_sem){++++++}, at: [<ffffffff83dbbfad>] tty_ldisc_lock_pair_timeout+0xcd/0x120
[  604.610836] INFO: task trinity:9732 blocked for more than 120 seconds.
[  604.611877] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  604.613063] trinity         D 00000000001d7180  4992  9732      1 0x00000000
[  604.614204]  ffff8800915ddc28 0000000000000002 00000000001d7180 ffff8800aa09d208
[  604.615410]  ffff8800b94b3000 ffff880070188000 00000000001d7180 00000000001d7180
[  604.616604]  ffff880070188000 ffff8800915ddfd8 00000000001d7180 00000000001d7180
[  604.617846] Call Trace:
[  604.618258]  [<ffffffff83db9909>] __schedule+0x2e9/0x3b0
[  604.619076]  [<ffffffff83db9b35>] schedule+0x55/0x60
[  604.619844]  [<ffffffff83db74ba>] schedule_timeout+0x3a/0x370
[  604.620754]  [<ffffffff81182349>] ? mark_held_locks+0xf9/0x130
[  604.621682]  [<ffffffff83dbab38>] ? down_failed+0x108/0x200
[  604.622533]  [<ffffffff83dbb7ab>] ? _raw_spin_unlock_irq+0x2b/0x80
[  604.623475]  [<ffffffff81182608>] ? trace_hardirqs_on_caller+0x128/0x160
[  604.624533]  [<ffffffff83dbab61>] down_failed+0x131/0x200
[  604.625372]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  604.626325]  [<ffffffff83dbacbc>] ldsem_down_read+0x8c/0x100
[  604.627239]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  604.628193]  [<ffffffff81185331>] ? __lock_release+0xe1/0x100
[  604.629107]  [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  604.630082]  [<ffffffff81c36508>] tty_write+0x98/0xf0
[  604.630856]  [<ffffffff81a38938>] ? do_raw_spin_unlock+0xc8/0xe0
[  604.631819]  [<ffffffff81c365f5>] redirected_tty_write+0x95/0xc0
[  604.632778]  [<ffffffff8128ce38>] vfs_write+0xb8/0x180
[  604.633595]  [<ffffffff8128d170>] sys_write+0x50/0xa0
[  604.634422]  [<ffffffff83dc49d8>] tracesys+0xe1/0xe6
[  604.635324] 1 lock held by trinity/9732:
[  604.635906]  #0:  (&tty->ldisc_sem){++++++}, at: [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  604.637466] INFO: task trinity:10089 blocked for more than 120 seconds.
[  604.638496] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  604.639675] trinity         D 00000000001d7180  5224 10089      1 0x00000000
[  604.640798]  ffff88006bb2bc28 0000000000000002 00000000001d7180 ffff8800aa09d208
[  604.641731]  ffff8800b94b3000 ffff880094303000 00000000001d7180 00000000001d7180
[  604.642769]  ffff880094303000 ffff88006bb2bfd8 00000000001d7180 00000000001d7180
[  604.643977] Call Trace:
[  604.644383]  [<ffffffff83db9909>] __schedule+0x2e9/0x3b0
[  604.645205]  [<ffffffff83db9b35>] schedule+0x55/0x60
[  604.645957]  [<ffffffff83db74ba>] schedule_timeout+0x3a/0x370
[  604.646843]  [<ffffffff81182349>] ? mark_held_locks+0xf9/0x130
[  604.647746]  [<ffffffff83dbab38>] ? down_failed+0x108/0x200
[  604.648624]  [<ffffffff83dbb7ab>] ? _raw_spin_unlock_irq+0x2b/0x80
[  604.649605]  [<ffffffff81182608>] ? trace_hardirqs_on_caller+0x128/0x160
[  604.650652]  [<ffffffff83dbab61>] down_failed+0x131/0x200
[  604.651445]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  604.652366]  [<ffffffff83dbacbc>] ldsem_down_read+0x8c/0x100
[  604.653267]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  604.654222]  [<ffffffff81185331>] ? __lock_release+0xe1/0x100
[  604.655118]  [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  604.656040]  [<ffffffff81c36508>] tty_write+0x98/0xf0
[  604.656848]  [<ffffffff81a38938>] ? do_raw_spin_unlock+0xc8/0xe0
[  604.657794]  [<ffffffff81c365f5>] redirected_tty_write+0x95/0xc0
[  604.658750]  [<ffffffff8128ce38>] vfs_write+0xb8/0x180
[  604.659597]  [<ffffffff8128d170>] sys_write+0x50/0xa0
[  604.660412]  [<ffffffff83dc49d8>] tracesys+0xe1/0xe6
[  604.661209] 1 lock held by trinity/10089:
[  604.661828]  #0:  (&tty->ldisc_sem){++++++}, at: [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  604.662732] INFO: task trinity:10254 blocked for more than 120 seconds.
[  604.663310] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  604.664504] trinity         D 00000000001d7180  5240 10254      1 0x00000000
[  604.665679]  ffff880096219c28 0000000000000002 00000000001d7180 ffff8800aa09cb78
[  604.666874]  ffff8800b94c3000 ffff8800961a8000 00000000001d7180 00000000001d7180
[  604.668060]  ffff8800961a8000 ffff880096219fd8 00000000001d7180 00000000001d7180
[  604.669320] Call Trace:
[  604.669713]  [<ffffffff83db9909>] __schedule+0x2e9/0x3b0
[  604.670542]  [<ffffffff83db9b35>] schedule+0x55/0x60
[  604.671360]  [<ffffffff83db74ba>] schedule_timeout+0x3a/0x370
[  604.672270]  [<ffffffff81182349>] ? mark_held_locks+0xf9/0x130
[  604.673161]  [<ffffffff83dbab38>] ? down_failed+0x108/0x200
[  604.674051]  [<ffffffff83dbb7ab>] ? _raw_spin_unlock_irq+0x2b/0x80
[  604.675022]  [<ffffffff81182608>] ? trace_hardirqs_on_caller+0x128/0x160
[  604.676068]  [<ffffffff83dbab61>] down_failed+0x131/0x200
[  604.676940]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  604.677896]  [<ffffffff83dbacbc>] ldsem_down_read+0x8c/0x100
[  604.678803]  [<ffffffff81c3d6bf>] ? tty_ldisc_ref_wait+0x1f/0x50
[  604.679760]  [<ffffffff81185331>] ? __lock_release+0xe1/0x100
[  604.680639]  [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50
[  604.681485]  [<ffffffff81c36508>] tty_write+0x98/0xf0
[  604.682288]  [<ffffffff81a38938>] ? do_raw_spin_unlock+0xc8/0xe0
[  604.683246]  [<ffffffff81c365f5>] redirected_tty_write+0x95/0xc0
[  604.684206]  [<ffffffff8128ce38>] vfs_write+0xb8/0x180
[  604.685055]  [<ffffffff8128d170>] sys_write+0x50/0xa0
[  604.685858]  [<ffffffff83dc49d8>] tracesys+0xe1/0xe6
[  604.686738] 1 lock held by trinity/10254:
[  604.687366]  #0:  (&tty->ldisc_sem){++++++}, at: [<ffffffff81c3d6bf>] tty_ldisc_ref_wait+0x1f/0x50


Thanks,
Sasha



  reply	other threads:[~2013-02-23 16:42 UTC|newest]

Thread overview: 179+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-14 18:22 [PATCH v2 00/11] tty: Fix buffer work access-after-free Peter Hurley
2012-12-14 18:22 ` [PATCH v2 01/11] tty: debug buffer work race with tty free Peter Hurley
2012-12-14 18:22 ` [PATCH v2 02/11] tty: WARN if buffer work racing " Peter Hurley
2012-12-14 18:22 ` [PATCH v2 03/11] tty: Add diagnostic for halted line discipline Peter Hurley
2012-12-14 18:22 ` [PATCH v2 04/11] tty: Refactor n_tty_flush_buffer Peter Hurley
2012-12-14 18:22 ` [PATCH v2 05/11] tty: Don't flush buffer when closing ldisc Peter Hurley
2012-12-14 18:22 ` [PATCH v2 06/11] tty: Refactor wait for ldisc refs out of tty_ldisc_hangup() Peter Hurley
2012-12-14 18:22 ` [PATCH v2 07/11] tty: Remove unnecessary re-test of ldisc ref count Peter Hurley
2012-12-14 18:22 ` [PATCH v2 08/11] tty: Fix ldisc halt sequence on hangup Peter Hurley
2012-12-14 18:22 ` [PATCH v2 09/11] tty: Strengthen no-subsequent-use guarantee of tty_ldisc_halt() Peter Hurley
2012-12-14 18:22 ` [PATCH v2 10/11] tty: Remove unnecessary buffer work flush Peter Hurley
2012-12-14 18:22 ` [PATCH v2 11/11] tty: Halt both ldiscs concurrently Peter Hurley
2012-12-18 15:44 ` [PATCH v2 00/11] tty: Fix buffer work access-after-free Sasha Levin
2012-12-18 16:48   ` Peter Hurley
2012-12-18 20:44     ` Ilya Zykov
2012-12-19 20:27       ` Peter Hurley
2012-12-19 20:38     ` Sasha Levin
2012-12-20 19:03       ` Peter Hurley
2013-02-05 20:20 ` [PATCH v3 00/23] ldisc fixes Peter Hurley
2013-02-05 20:20   ` [PATCH v3 01/23] tty: Add diagnostic for halted line discipline Peter Hurley
2013-02-07 14:50     ` Jiri Slaby
2013-02-07 15:53       ` Peter Hurley
2013-02-07 15:55         ` Jiri Slaby
2013-02-05 20:20   ` [PATCH v3 02/23] n_tty: Factor packet mode status change for reuse Peter Hurley
2013-02-07 14:51     ` Jiri Slaby
2013-02-07 15:58       ` Peter Hurley
2013-02-05 20:20   ` [PATCH v3 03/23] n_tty: Don't flush buffer when closing ldisc Peter Hurley
2013-02-07 14:57     ` Jiri Slaby
2013-02-05 20:20   ` [PATCH v3 04/23] tty: Refactor wait for ldisc refs out of tty_ldisc_hangup() Peter Hurley
2013-02-07 15:11     ` Jiri Slaby
2013-02-05 20:20   ` [PATCH v3 05/23] tty: Remove unnecessary re-test of ldisc ref count Peter Hurley
2013-02-07 15:16     ` Jiri Slaby
2013-02-07 15:59       ` Peter Hurley
2013-02-07 16:02         ` Jiri Slaby
2013-02-05 20:20   ` [PATCH v3 06/23] tty: Fix ldisc halt sequence on hangup Peter Hurley
2013-02-05 20:20   ` [PATCH v3 07/23] tty: Strengthen no-subsequent-use guarantee of tty_ldisc_halt() Peter Hurley
2013-02-07 15:38     ` Jiri Slaby
2013-02-07 16:22       ` Peter Hurley
2013-02-05 20:20   ` [PATCH v3 08/23] tty: Halt both ldiscs concurrently Peter Hurley
2013-02-05 20:20   ` [PATCH v3 09/23] tty: Remove unnecessary buffer work flush Peter Hurley
2013-02-05 20:20   ` [PATCH v3 10/23] tty: Wait for SAK work before waiting for hangup work Peter Hurley
2013-02-05 20:20   ` [PATCH v3 11/23] n_tty: Correct unthrottle-with-buffer-flush comments Peter Hurley
2013-02-05 20:20   ` [PATCH v3 12/23] tty: Kick waiters _after_ the ldisc is locked Peter Hurley
2013-02-07 15:47     ` Jiri Slaby
2013-02-08  3:16       ` Peter Hurley
2013-02-05 20:20   ` [PATCH v3 13/23] n_tty: Fully initialize ldisc before restarting buffer work Peter Hurley
2013-02-05 20:20   ` [PATCH v3 14/23] tty: Don't reenable already enabled ldisc Peter Hurley
2013-02-05 20:20   ` [PATCH v3 15/23] tty: Don't restart ldisc on hangup if racing ldisc kill Peter Hurley
2013-02-05 20:20   ` [PATCH v3 16/23] tty: Make core responsible for synchronizing its work Peter Hurley
2013-02-05 21:04     ` Peter Hurley
2013-02-05 20:20   ` [PATCH v3 17/23] tty: Document lock requirements to halt ldisc Peter Hurley
2013-02-05 20:20   ` [PATCH v3 18/23] tty: Remove stale comment re: tty_ldisc_flush_works() Peter Hurley
2013-02-05 20:20   ` [PATCH v3 19/23] tty: Fix 'deferred reopen' ldisc comment Peter Hurley
2013-02-05 20:20   ` [PATCH v3 20/23] tty: Remove stale comment re: locking in tty_ldisc_release() Peter Hurley
2013-02-05 20:20   ` [PATCH v3 21/23] tty: Re-parent orphaned tty_set_ldisc() comments Peter Hurley
2013-02-05 20:20   ` [PATCH v3 22/23] tty: Bracket ldisc release with TTY_DEBUG_HANGUP messages Peter Hurley
2013-02-05 20:20   ` [PATCH v3 23/23] tty: Add ldisc hangup debug messages Peter Hurley
2013-02-20 20:02   ` [PATCH v4 00/32] ldisc patchset Peter Hurley
2013-02-21  2:33     ` Shawn Guo
2013-02-21  7:55     ` Sebastian Andrzej Siewior
2013-02-21 13:16     ` Sasha Levin
2013-02-21 13:38       ` Peter Hurley
2013-02-22 18:37         ` Peter Hurley
2013-02-23 15:24           ` Sasha Levin
2013-02-23 16:42             ` Sasha Levin [this message]
2013-02-27  3:08               ` Peter Hurley
2013-02-23 18:43             ` Peter Hurley
2013-02-23 20:02               ` Sasha Levin
2013-03-05 17:39           ` Peter Hurley
2013-03-05 21:18     ` Sebastian Andrzej Siewior
2013-03-11 20:44     ` [PATCH v5 00/44] " Peter Hurley
2013-03-11 20:44       ` [PATCH v5 01/44] tty: Add diagnostic for halted line discipline Peter Hurley
2013-03-11 20:44       ` [PATCH v5 02/44] n_tty: Factor packet mode status change for reuse Peter Hurley
2013-03-11 20:44       ` [PATCH v5 03/44] n_tty: Don't flush buffer when closing ldisc Peter Hurley
2013-03-11 20:44       ` [PATCH v5 04/44] tty: Refactor wait for ldisc refs out of tty_ldisc_hangup() Peter Hurley
2013-03-11 20:44       ` [PATCH v5 05/44] tty: Remove unnecessary re-test of ldisc ref count Peter Hurley
2013-03-11 20:44       ` [PATCH v5 06/44] tty: Fix ldisc halt sequence on hangup Peter Hurley
2013-03-11 20:44       ` [PATCH v5 07/44] tty: Relocate tty_ldisc_halt() to avoid forward declaration Peter Hurley
2013-03-11 20:44       ` [PATCH v5 08/44] tty: Strengthen no-subsequent-use guarantee of tty_ldisc_halt() Peter Hurley
2013-03-11 20:44       ` [PATCH v5 09/44] tty: Halt both ldiscs concurrently Peter Hurley
2013-03-11 20:44       ` [PATCH v5 10/44] tty: Wait for SAK work before waiting for hangup work Peter Hurley
2013-03-11 20:44       ` [PATCH v5 11/44] n_tty: Correct unthrottle-with-buffer-flush comments Peter Hurley
2013-03-11 20:44       ` [PATCH v5 12/44] n_tty: Fully initialize ldisc before restarting buffer work Peter Hurley
2013-03-11 20:44       ` [PATCH v5 13/44] tty: Don't reenable already enabled ldisc Peter Hurley
2013-03-11 20:44       ` [PATCH v5 14/44] tty: Complete ownership transfer of flip buffers Peter Hurley
2013-03-11 20:44       ` [PATCH v5 15/44] tty: Make core responsible for synchronizing its work Peter Hurley
2013-03-11 20:44       ` [PATCH v5 16/44] tty: Fix 'deferred reopen' ldisc comment Peter Hurley
2013-03-11 20:44       ` [PATCH v5 17/44] tty: Bracket ldisc release with TTY_DEBUG_HANGUP messages Peter Hurley
2013-03-11 20:44       ` [PATCH v5 18/44] tty: Add ldisc hangup debug messages Peter Hurley
2013-03-11 20:44       ` [PATCH v5 19/44] tty: Don't protect atomic operation with mutex Peter Hurley
2013-03-11 20:44       ` [PATCH v5 20/44] tty: Separate release semantics of ldisc reference Peter Hurley
2013-03-11 20:44       ` [PATCH v5 21/44] tty: Document unsafe ldisc reference acquire Peter Hurley
2013-03-11 20:44       ` [PATCH v5 22/44] tty: Fold one-line assign function into callers Peter Hurley
2013-03-11 20:44       ` [PATCH v5 23/44] tty: Locate get/put ldisc functions together Peter Hurley
2013-03-11 20:44       ` [PATCH v5 24/44] tty: Remove redundant tty_wait_until_sent() Peter Hurley
2013-03-11 20:44       ` [PATCH v5 25/44] tty: Fix recursive deadlock in tty_perform_flush() Peter Hurley
2013-03-11 21:36         ` Peter Hurley
2013-03-11 20:44       ` [PATCH v5 26/44] tty: Add read-recursive, writer-prioritized rw semaphore Peter Hurley
2013-03-18 23:58         ` Greg Kroah-Hartman
2013-03-19  1:01           ` Peter Hurley
2013-03-19  1:59             ` Greg Kroah-Hartman
2013-03-19 15:43               ` Peter Hurley
2013-03-26 23:47               ` Peter Hurley
2013-03-11 20:44       ` [PATCH v5 27/44] tty: Drop lock contention stat from ldsem trylocks Peter Hurley
2013-03-11 20:44       ` [PATCH v5 28/44] tty: Remove ldsem recursion support Peter Hurley
2013-03-18 23:59         ` Greg Kroah-Hartman
2013-03-19  0:01           ` Peter Hurley
2013-03-19  0:05             ` Greg Kroah-Hartman
2013-03-19  0:12               ` Peter Hurley
2013-03-11 20:44       ` [PATCH v5 29/44] tty: Add lock/unlock ldisc pair functions Peter Hurley
2013-03-11 20:44       ` [PATCH v5 30/44] tty: Replace ldisc locking with ldisc_sem Peter Hurley
2013-03-11 20:44       ` [PATCH v5 31/44] tty: Clarify ldisc variable Peter Hurley
2013-03-11 20:44       ` [PATCH v5 32/44] tty: Fix hangup race with TIOCSETD ioctl Peter Hurley
2013-03-11 20:44       ` [PATCH v5 33/44] tty: Clarify multiple-references comment in " Peter Hurley
2013-03-11 20:44       ` [PATCH v5 34/44] tty: Fix tty_ldisc_lock name collision Peter Hurley
2013-03-11 20:44       ` [PATCH v5 35/44] tty: Drop "tty is NULL" flip buffer diagnostic Peter Hurley
2013-03-11 20:44       ` [PATCH v5 36/44] tty: Inline ldsem down_failed() into down_{read,write}_failed() Peter Hurley
2013-03-11 20:44       ` [PATCH v5 37/44] tty: Drop ldsem wait type Peter Hurley
2013-03-11 20:44       ` [PATCH v5 38/44] tty: Drop wake type optimization Peter Hurley
2013-03-11 20:44       ` [PATCH v5 39/44] tty: Factor ldsem writer trylock Peter Hurley
2013-03-11 20:45       ` [PATCH v5 40/44] tty: Simplify lock taking for waiting writers Peter Hurley
2013-03-11 20:45       ` [PATCH v5 41/44] tty: Implement ldsem fast path write lock stealing Peter Hurley
2013-03-11 20:45       ` [PATCH v5 42/44] tty: Reduce and simplify ldsem atomic ops Peter Hurley
2013-03-11 20:45       ` [PATCH v5 43/44] tty: Early-out ldsem write lock stealing Peter Hurley
2013-03-11 20:45       ` [PATCH v5 44/44] tty: Early-out tardy ldsem readers Peter Hurley
2013-03-12  2:28       ` [PATCH v5 00/44] ldisc patchset Michel Lespinasse
2013-03-12 16:47         ` Peter Hurley
2013-03-13 11:36           ` Michel Lespinasse
2013-03-14  1:12             ` Peter Hurley
2013-03-14  7:25               ` Michel Lespinasse
2013-03-14 11:42                 ` Peter Hurley
2013-03-14 12:13                   ` Michel Lespinasse
2013-03-18 23:54       ` Greg Kroah-Hartman
2013-03-19 19:26       ` [PATCH 0/7] ldsem patchset Peter Hurley
2013-03-19 19:26         ` [PATCH 1/7] tty: Add timed, writer-prioritized rw semaphore Peter Hurley
2013-03-19 19:26         ` [PATCH 2/7] tty: Add lock/unlock ldisc pair functions Peter Hurley
2013-03-19 19:26         ` [PATCH 3/7] tty: Replace ldisc locking with ldisc_sem Peter Hurley
2013-03-19 19:26         ` [PATCH 4/7] tty: Clarify ldisc variable Peter Hurley
2013-03-19 19:26         ` [PATCH 5/7] tty: Fix hangup race with TIOCSETD ioctl Peter Hurley
2013-03-19 19:26         ` [PATCH 6/7] tty: Clarify multiple-references comment in " Peter Hurley
2013-03-19 19:26         ` [PATCH 7/7] tty: Fix tty_ldisc_lock name collision Peter Hurley
2013-02-20 20:02   ` [PATCH v4 01/32] tty: Add diagnostic for halted line discipline Peter Hurley
2013-02-20 20:02   ` [PATCH v4 02/32] n_tty: Factor packet mode status change for reuse Peter Hurley
2013-02-20 20:02   ` [PATCH v4 03/32] n_tty: Don't flush buffer when closing ldisc Peter Hurley
2013-02-20 20:02   ` [PATCH v4 04/32] tty: Refactor wait for ldisc refs out of tty_ldisc_hangup() Peter Hurley
2013-02-20 20:02   ` [PATCH v4 05/32] tty: Remove unnecessary re-test of ldisc ref count Peter Hurley
2013-02-20 20:02   ` [PATCH v4 06/32] tty: Fix ldisc halt sequence on hangup Peter Hurley
2013-02-20 20:02   ` [PATCH v4 07/32] tty: Relocate tty_ldisc_halt() to avoid forward declaration Peter Hurley
2013-02-20 20:02   ` [PATCH v4 08/32] tty: Strengthen no-subsequent-use guarantee of tty_ldisc_halt() Peter Hurley
2013-02-20 20:02   ` [PATCH v4 09/32] tty: Halt both ldiscs concurrently Peter Hurley
2013-02-20 20:02   ` [PATCH v4 10/32] tty: Wait for SAK work before waiting for hangup work Peter Hurley
2013-02-20 20:02   ` [PATCH v4 11/32] n_tty: Correct unthrottle-with-buffer-flush comments Peter Hurley
2013-02-20 20:02   ` [PATCH v4 12/32] n_tty: Fully initialize ldisc before restarting buffer work Peter Hurley
2013-02-20 20:03   ` [PATCH v4 13/32] tty: Don't reenable already enabled ldisc Peter Hurley
2013-02-20 20:03   ` [PATCH v4 14/32] tty: Complete ownership transfer of flip buffers Peter Hurley
2013-02-20 20:03   ` [PATCH v4 15/32] tty: Make core responsible for synchronizing its work Peter Hurley
2013-02-20 20:03   ` [PATCH v4 16/32] tty: Fix 'deferred reopen' ldisc comment Peter Hurley
2013-02-20 20:03   ` [PATCH v4 17/32] tty: Bracket ldisc release with TTY_DEBUG_HANGUP messages Peter Hurley
2013-02-20 20:03   ` [PATCH v4 18/32] tty: Add ldisc hangup debug messages Peter Hurley
2013-02-20 20:03   ` [PATCH v4 19/32] tty: Don't protect atomic operation with mutex Peter Hurley
2013-02-20 20:03   ` [PATCH v4 20/32] tty: Separate release semantics of ldisc reference Peter Hurley
2013-02-20 20:03   ` [PATCH v4 21/32] tty: Document unsafe ldisc reference acquire Peter Hurley
2013-02-20 20:03   ` [PATCH v4 22/32] tty: Fold one-line assign function into callers Peter Hurley
2013-02-20 20:03   ` [PATCH v4 23/32] tty: Locate get/put ldisc functions together Peter Hurley
2013-02-20 20:03   ` [PATCH v4 24/32] tty: Remove redundant tty_wait_until_sent() Peter Hurley
2013-02-20 20:03   ` [PATCH v4 25/32] tty: Add read-recursive, writer-prioritized rw semaphore Peter Hurley
2013-03-08 17:12     ` Peter Hurley
2013-02-20 20:03   ` [PATCH v4 26/32] tty: Add lock/unlock ldisc pair functions Peter Hurley
2013-02-20 20:03   ` [PATCH v4 27/32] tty: Replace ldisc locking with ldisc_sem Peter Hurley
2013-02-20 20:03   ` [PATCH v4 28/32] tty: Clarify ldisc variable Peter Hurley
2013-02-20 20:03   ` [PATCH v4 29/32] tty: Fix hangup race with TIOCSETD ioctl Peter Hurley
2013-02-20 20:03   ` [PATCH v4 30/32] tty: Clarify multiple-references comment in " Peter Hurley
2013-02-20 20:03   ` [PATCH v4 31/32] tty: Fix tty_ldisc_lock name collision Peter Hurley
2013-02-20 20:03   ` [PATCH v4 32/32] tty: Drop "tty is NULL" flip buffer diagnostic Peter Hurley
2013-03-05 20:50   ` [PATCH v3 00/23] ldisc fixes Sebastian Andrzej Siewior
2013-03-05 22:20     ` Peter Hurley
2013-03-05 22:39       ` Jiri Slaby
2013-03-05 23:14         ` Peter Hurley
2013-03-17 18:50       ` Sebastian Andrzej Siewior

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5128F16E.30804@gmail.com \
    --to=levinsasha928@gmail.com \
    --cc=bigeasy@linutronix.de \
    --cc=davej@redhat.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=ilya@ilyx.ru \
    --cc=jslaby@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=michael@ellerman.id.au \
    --cc=peter@hurleysoftware.com \
    --cc=shawn.guo@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).