From: Oleg Nesterov <oleg@tv-sign.ru>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Alan Stern <stern@rowland.harvard.edu>,
"Rafael J. Wysocki" <rjw@sisk.pl>, Pavel Machek <pavel@ucw.cz>,
USB development list <linux-usb-devel@lists.sourceforge.net>,
Kernel development list <linux-kernel@vger.kernel.org>
Subject: Re: 2.6.22-rc2-mm1
Date: Wed, 23 May 2007 20:09:45 +0400 [thread overview]
Message-ID: <20070523160945.GA150@tv-sign.ru> (raw)
In-Reply-To: <20070523085424.2aa27c57.akpm@linux-foundation.org>
On 05/23, Andrew Morton wrote:
>
> On Wed, 23 May 2007 10:47:04 -0400 (EDT) Alan Stern <stern@rowland.harvard.edu> wrote:
>
> > Is it possible to get an Alt-SysRq-T stack trace during those 20
> > seconds? Knowing what those threads are waiting for would be a big
> > help.
>
> [ 144.201264] khubd D 00400005 0 160 2 (L-TLB)
> [ 144.204358] c207fe78 00000046 90399a85 00400005 00000246 c207fe60 c25b0cc4 c206f4cc
> [ 144.204539] 00000286 00000000 769e4cea 0040000a 90399a85 00400005 c32713c0 c207fed4
> [ 144.207754] 00000001 c207fe94 c207febc c02e8e1b 00000000 00000000 00000000 00000000
> [ 144.210934] Call Trace:
> [ 144.217012] [<c02e8e1b>] wait_for_completion+0x68/0x91
> [ 144.220090] [<c011824f>] default_wake_function+0x0/0x9
> [ 144.223158] [<c0127a41>] flush_cpu_workqueue+0x4d/0x55
> [ 144.226223] [<c0127a69>] wq_barrier_func+0x0/0x8
> [ 144.229269] [<c026343d>] usb_release_dev+0x28/0x63
> [ 144.232340] [<c0233011>] device_release+0x37/0x7c
> [ 144.235431] [<c01cb6c7>] kobject_cleanup+0x3d/0x54
> [ 144.238520] [<c01cb6de>] kobject_release+0x0/0x8
> [ 144.241631] [<c01cc2a7>] kref_put+0x75/0x82
> [ 144.244699] [<c0265482>] hub_thread+0x376/0xa74
> [ 144.247768] [<c01180c2>] pick_next_task_fair+0xf2/0x12a
> [ 144.250815] [<c0116af1>] __wake_up_common+0x31/0x4f
> [ 144.253864] [<c012a259>] autoremove_wake_function+0x0/0x35
> [ 144.256902] [<c026510c>] hub_thread+0x0/0xa74
> [ 144.259944] [<c012a102>] kthread+0x36/0x5c
> [ 144.262891] [<c012a0cc>] kthread+0x0/0x5c
> [ 144.265757] [<c010464b>] kernel_thread_helper+0x7/0x10
> [ 144.268716] =======================
Looks like usb_release_dev() does flush_workqueue() under usb_lock_device().
Is it possible? If yes, flush_workqueue() stalls because this lock is need
to finish the execution of ->wakeup_work (below).
usb_release_dev:
#ifdef CONFIG_USB_SUSPEND
cancel_delayed_work(&udev->autosuspend);
flush_workqueue(ksuspend_usb_wq);
#endif
What is the reason for flush_workqueue() here? _IF_ it is only needed to flush
->autosuspend, we can use cancel_rearming_delayed_work(&udev->autosuspend).
> [ 144.137704] ksuspend_usbd D 00400005 0 157 2 (L-TLB)
> [ 144.140830] c2085f18 00000046 9072767a 00400005 c20626f0 c010449b c3182118 c206288c
> [ 144.141011] c3182120 c3182120 76d728df 0040000a 9072767a 00400005 c3271200 c3182118
> [ 144.144263] c3182120 00000246 c20626f0 c02ea1c9 00000000 00000000 00000000 00000000
> [ 144.147576] Call Trace:
> [ 144.153929] [<c010449b>] common_interrupt+0x23/0x28
> [ 144.157245] [<c02ea1c9>] __down+0xba/0xc6
> [ 144.160528] [<c011824f>] default_wake_function+0x0/0x9
> [ 144.163832] [<c02664fc>] hcd_resume_work+0x0/0x43
> [ 144.167126] [<c02e9fd3>] __down_failed+0x7/0xc
> [ 144.170372] [<c0266518>] hcd_resume_work+0x1c/0x43
> [ 144.173603] [<c01278cf>] run_workqueue+0x6d/0xdf
> [ 144.176780] [<c0127b4c>] worker_thread+0x0/0xd0
> [ 144.179885] [<c0127b4c>] worker_thread+0x0/0xd0
> [ 144.182930] [<c0127c12>] worker_thread+0xc6/0xd0
> [ 144.185964] [<c012a259>] autoremove_wake_function+0x0/0x35
> [ 144.189056] [<c012a102>] kthread+0x36/0x5c
> [ 144.192118] [<c012a0cc>] kthread+0x0/0x5c
> [ 144.195153] [<c010464b>] kernel_thread_helper+0x7/0x10
Oleg.
next prev parent reply other threads:[~2007-05-23 17:04 UTC|newest]
Thread overview: 104+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-23 7:42 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 7:48 ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 9:22 ` 2.6.22-rc2-mm1 Rafael J. Wysocki
2007-05-23 14:47 ` 2.6.22-rc2-mm1 Alan Stern
2007-05-23 15:54 ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 16:09 ` Oleg Nesterov [this message]
2007-05-23 17:00 ` 2.6.22-rc2-mm1 Alan Stern
2007-05-23 16:21 ` 2.6.22-rc2-mm1 Oleg Nesterov
2007-05-23 18:41 ` 2.6.22-rc2-mm1 Alan Stern
2007-05-23 9:47 ` 2.6.22-rc2-mm1 Michal Piotrowski
2007-05-23 17:18 ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-23 21:05 ` 2.6.22-rc2-mm1 Michal Piotrowski
2007-05-23 22:01 ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 22:18 ` 2.6.22-rc2-mm1 Michal Piotrowski
2007-05-23 22:27 ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-23 22:37 ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 23:36 ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24 1:21 ` 2.6.22-rc2-mm1 Randy Dunlap
2007-05-24 2:43 ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24 3:00 ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24 3:26 ` 2.6.22-rc2-mm1 Randy Dunlap
2007-05-24 7:31 ` 2.6.22-rc2-mm1 Ingo Molnar
2007-05-24 16:40 ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24 21:20 ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24 21:29 ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-24 21:55 ` 2.6.22-rc2-mm1 Randy Dunlap
2007-05-24 22:35 ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24 22:53 ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-30 21:34 ` [PATCH 1/3] hexdump: more output formatting Randy Dunlap
2007-05-30 21:42 ` Christoph Lameter
2007-05-30 21:45 ` Randy Dunlap
2007-05-31 1:45 ` [PATCH 1/3 v2] " Randy Dunlap
2007-05-30 21:56 ` [PATCH 1/3] " Satyam Sharma
2007-05-30 22:03 ` Randy Dunlap
2007-05-30 22:11 ` Satyam Sharma
2007-05-30 22:18 ` Christoph Lameter
2007-05-30 22:41 ` Satyam Sharma
2007-05-30 22:44 ` Randy Dunlap
2007-05-30 22:48 ` Satyam Sharma
2007-05-30 22:59 ` Randy Dunlap
2007-05-30 22:25 ` Randy Dunlap
2007-05-30 22:36 ` Jesper Juhl
2007-05-30 23:04 ` Randy Dunlap
2007-05-30 23:07 ` Jesper Juhl
2007-05-30 21:34 ` [PATCH 2/3 -mm] slub: use lib/hexdump Randy Dunlap
2007-05-30 21:45 ` Christoph Lameter
2007-05-30 21:48 ` Randy Dunlap
2007-05-30 21:51 ` Christoph Lameter
2007-05-30 21:54 ` Randy Dunlap
2007-05-30 22:03 ` Christoph Lameter
2007-05-30 22:06 ` Randy Dunlap
2007-05-31 1:39 ` Randy Dunlap
2007-05-23 22:24 ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-23 12:01 ` 2.6.22-rc2-mm1 Gabriel C
2007-05-23 16:01 ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 15:02 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 15:28 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 16:08 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 16:29 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 17:27 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 23:17 ` 2.6.22-rc2-mm1 Zan Lynx
2007-05-23 23:27 ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 23:40 ` 2.6.22-rc2-mm1 Jiri Kosina
2007-05-24 3:28 ` 2.6.22-rc2-mm1 Dmitry Torokhov
2007-05-24 7:28 ` 2.6.22-rc2-mm1 Jiri Kosina
2007-05-30 14:08 ` [PATCH] Input: i8042 - cleanup of debug code (was Re: 2.6.22-rc2-mm1) Jiri Kosina
2007-05-30 14:27 ` Dmitry Torokhov
2007-05-30 14:30 ` Jiri Kosina
[not found] ` <1180058760.7001.6.camel@oberon.rnd.esoft.com>
2007-05-25 7:23 ` 2.6.22-rc2-mm1 Jiri Kosina
2007-05-23 23:50 ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-24 10:36 ` rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1) Jeremy Fitzhardinge
2007-05-24 10:47 ` Herbert Xu
2007-05-24 10:54 ` Herbert Xu
2007-05-24 14:44 ` Kok, Auke
2007-05-25 12:54 ` Herbert Xu
2007-05-25 13:04 ` Herbert Xu
2007-05-25 13:32 ` Herbert Xu
2007-05-25 22:12 ` Kok, Auke
2007-05-25 23:48 ` Jeff Garzik
2007-05-26 0:10 ` Herbert Xu
2007-05-25 21:20 ` idle=poll burns my box [was Re: 2.6.22-rc2-mm1] J.A. Magallón
2007-05-25 21:52 ` Andrew Morton
2007-05-26 15:59 ` 2.6.22-rc2-mm1 Tilman Schmidt
2007-05-26 16:01 ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-27 22:16 ` 2.6.22-rc2-mm1 Tilman Schmidt
2007-05-27 22:41 ` 2.6.22-rc2-mm1 Kay Sievers
2007-05-28 17:22 ` 2.6.22-rc2-mm1 Cornelia Huck
2007-05-29 7:56 ` 2.6.22-rc2-mm1 Kay Sievers
2007-05-29 7:25 ` 2.6.22-rc2-mm1 Cornelia Huck
2007-05-29 14:43 ` 2.6.22-rc2-mm1 Matt Mackall
2007-05-29 16:55 ` 2.6.22-rc2-mm1 Tilman Schmidt
2007-05-29 17:25 ` 2.6.22-rc2-mm1 Cornelia Huck
2007-06-01 12:38 ` 2.6.22-rc2-mm1 Greg KH
2007-07-03 8:50 ` 2.6.22-rc2-mm1 Cornelia Huck
2007-07-12 6:00 ` 2.6.22-rc2-mm1 Greg KH
2007-05-28 10:27 ` 2.6.22-rc2-mm1 - a different BUG: at mm/slab.c:777 __find_general_cachep() Valdis.Kletnieks
2007-05-28 10:43 ` Pekka Enberg
2007-05-28 11:12 ` Valdis.Kletnieks
2007-05-29 4:22 ` 2.6.22-rc2-mm1: SLUB Randy Dunlap
2007-05-29 17:13 ` Christoph Lameter
2007-05-29 18:13 ` Randy Dunlap
2007-05-29 18:30 ` Christoph Lameter
2007-05-29 18:32 ` Christoph Lameter
2007-05-29 18:59 ` Randy Dunlap
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=20070523160945.GA150@tv-sign.ru \
--to=oleg@tv-sign.ru \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
--cc=pavel@ucw.cz \
--cc=rjw@sisk.pl \
--cc=stern@rowland.harvard.edu \
/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
Powered by JetHome