From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: tty vs workqueue oddities
Date: Thu, 02 Jun 2011 17:17:25 +1000 [thread overview]
Message-ID: <1306999045.29297.55.camel@pasglop> (raw)
Hi Alan !
Current upstream (but that's been around for at least 2 or 3 days) seems
to have a strange behaviour on one of my powerbooks. Something like
"dmesg" or "cat" of a large file in an X terminal "hangs" the machine
litterally for minutes. It generally recovers, so not always.
Network is unresponsive as well.
My attempts at stopping it into xmon always landed in process_one_work()
or flush_to_ldisc() from what I can tell, and a simple ftrace run shows
something that looks like an -enormous- lot of:
kworker/0:1-258 [000] 412.105871: flush_to_ldisc <-process_one_work
kworker/0:1-258 [000] 412.105871: tty_ldisc_ref <-flush_to_ldisc
kworker/0:1-258 [000] 412.105872: n_tty_receive_buf <-flush_to_ldisc
kworker/0:1-258 [000] 412.105872: kill_fasync <-n_tty_receive_buf
kworker/0:1-258 [000] 412.105873: __wake_up <-n_tty_receive_buf
kworker/0:1-258 [000] 412.105873: __wake_up_common <-__wake_up
kworker/0:1-258 [000] 412.105874: default_wake_function <-__wake_up_common
kworker/0:1-258 [000] 412.105874: try_to_wake_up <-default_wake_function
kworker/0:1-258 [000] 412.105874: tty_throttle <-n_tty_receive_buf
kworker/0:1-258 [000] 412.105875: mutex_lock <-tty_throttle
kworker/0:1-258 [000] 412.105875: mutex_unlock <-tty_throttle
kworker/0:1-258 [000] 412.105876: schedule_work <-flush_to_ldisc
kworker/0:1-258 [000] 412.105876: queue_work <-schedule_work
kworker/0:1-258 [000] 412.105877: queue_work_on <-queue_work
kworker/0:1-258 [000] 412.105877: __queue_work <-queue_work_on
kworker/0:1-258 [000] 412.105878: insert_work <-__queue_work
kworker/0:1-258 [000] 412.105878: tty_ldisc_deref <-flush_to_ldisc
kworker/0:1-258 [000] 412.105879: put_ldisc <-tty_ldisc_deref
kworker/0:1-258 [000] 412.105879: __wake_up <-put_ldisc
kworker/0:1-258 [000] 412.105880: __wake_up_common <-__wake_up
kworker/0:1-258 [000] 412.105880: cwq_dec_nr_in_flight <-process_one_work
kworker/0:1-258 [000] 412.105880: process_one_work <-worker_thread
and repeat that sequence more/less identical ad nauseum
Sometimes it breaks out and makes progress, usually after a few mn.
2.6.39 is fine. I'm going to attempt a bisection but it's a bit slow on
those machines and I'm running out of time today, so I wanted to shoot
that to you in case it rings a bell.
Cheers,
Ben.
next reply other threads:[~2011-06-02 7:19 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-02 7:17 Benjamin Herrenschmidt [this message]
2011-06-02 8:37 ` tty breakage in X (Was: tty vs workqueue oddities) Benjamin Herrenschmidt
2011-06-02 9:30 ` Andreas Schwab
2011-06-02 10:07 ` Alan Cox
2011-06-03 0:56 ` Benjamin Herrenschmidt
2011-06-03 6:17 ` Benjamin Herrenschmidt
2011-06-03 6:56 ` Benjamin Herrenschmidt
2011-06-03 9:36 ` Linus Torvalds
2011-06-05 14:37 ` Guillaume Chazarain
2011-06-06 14:24 ` Guillaume Chazarain
2011-06-08 2:44 ` Linus Torvalds
2011-06-08 3:31 ` Linus Torvalds
2011-06-08 8:31 ` Guillaume Chazarain
2011-06-08 8:28 ` Felipe Balbi
2011-06-08 9:04 ` Alan Cox
2011-06-02 10:03 ` tty vs workqueue oddities Alan Cox
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=1306999045.29297.55.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.