From: Oleg Nesterov <oleg@redhat.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
Mike Galbraith <efault@gmx.de>, Ingo Molnar <mingo@elte.hu>,
LKML <linux-kernel@vger.kernel.org>,
pm list <linux-pm@lists.linux-foundation.org>,
Greg KH <gregkh@suse.de>, Jesse Barnes <jbarnes@virtuousgeek.org>,
Tejun Heo <tj@kernel.org>, Marcel Holtmann <marcel@holtmann.org>,
linux-bluetooth@vger.kernel.org,
Oliver Neukum <oliver@neukum.org>
Subject: Re: GPF in run_workqueue()/list_del_init(cwq->worklist.next) on resume (was: Re: Help needed: Resume problems in 2.6.32-rc, perhaps related to preempt_count leakage in keventd)
Date: Wed, 11 Nov 2009 21:24:33 +0100 [thread overview]
Message-ID: <20091111202433.GA5714@redhat.com> (raw)
In-Reply-To: <200911112100.16561.rjw@sisk.pl>
On 11/11, Rafael J. Wysocki wrote:
>
> On Wednesday 11 November 2009, Oleg Nesterov wrote:
> >
> > Rafael, could you reproduce the problem with the debugging patch below?
> > It tries to detect the case when the pending work was corrupted and
> > prints its work->func (saved in the previous item). It should work
> > if the work_struct was freed and poisoned, or if it was re-initialized.
> > See ck_work().
>
> I applied the patch and this is the result of 'dmesg | grep ERR' after 10-or-so
> consecutive suspend-resume and hibernate-resume cycles:
>
> [ 129.008689] ERR!! btusb_waker+0x0/0x27 [btusb]
> [ 166.477373] ERR!! btusb_waker+0x0/0x27 [btusb]
> [ 203.983665] ERR!! btusb_waker+0x0/0x27 [btusb]
> [ 241.636547] ERR!! btusb_waker+0x0/0x27 [btusb]
>
> which kind of confirms my previous observation that the problem was not
> reproducible without Bluetooth.
Great, thanks.
> So, it looks like the bug is in btusb_destruct(), which should call
> cancel_work_sync() on data->waker before freeing 'data'. I guess it should
> do the same for data->work.
Or. btusb_suspend() and btusb_close() do cancel_work_sync(data->work),
perhaps they should cancel data->waker as well, I dunno.
I added Oliver to cc.
Oleg.
next prev parent reply other threads:[~2009-11-11 20:24 UTC|newest]
Thread overview: 112+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-09 11:50 Help needed: Resume problems in 2.6.32-rc, perhaps related to preempt_count leakage in keventd Rafael J. Wysocki
2009-11-09 11:50 ` Rafael J. Wysocki
2009-11-09 12:02 ` Ingo Molnar
2009-11-09 12:02 ` Ingo Molnar
2009-11-09 12:24 ` Rafael J. Wysocki
2009-11-09 12:24 ` Rafael J. Wysocki
2009-11-09 12:49 ` Ingo Molnar
2009-11-09 12:49 ` Ingo Molnar
2009-11-09 14:02 ` Thomas Gleixner
2009-11-09 14:02 ` Thomas Gleixner
2009-11-09 14:16 ` Mike Galbraith
2009-11-09 14:16 ` Mike Galbraith
2009-11-09 14:27 ` Rafael J. Wysocki
2009-11-09 14:27 ` Rafael J. Wysocki
2009-11-09 14:30 ` Mike Galbraith
2009-11-09 14:30 ` Mike Galbraith
2009-11-09 15:47 ` Rafael J. Wysocki
2009-11-09 16:19 ` Mike Galbraith
2009-11-09 17:36 ` Rafael J. Wysocki
2009-11-09 18:50 ` Thomas Gleixner
2009-11-09 18:50 ` Thomas Gleixner
2009-11-09 20:00 ` Rafael J. Wysocki
2009-11-09 20:00 ` Rafael J. Wysocki
2009-11-09 20:31 ` [linux-pm] " Alan Stern
2009-11-09 20:48 ` Rafael J. Wysocki
2009-11-09 20:48 ` [linux-pm] " Rafael J. Wysocki
2009-11-09 21:24 ` Alan Stern
2009-11-09 21:24 ` [linux-pm] " Alan Stern
2009-11-09 20:31 ` Alan Stern
2009-11-09 20:45 ` GPF in run_workqueue()/list_del_init(cwq->worklist.next) on resume (was: Re: Help needed: Resume problems in 2.6.32-rc, perhaps related to preempt_count leakage in keventd) Rafael J. Wysocki
2009-11-09 21:42 ` Linus Torvalds
2009-11-09 21:42 ` Linus Torvalds
2009-11-10 0:19 ` Rafael J. Wysocki
2009-11-10 0:19 ` Rafael J. Wysocki
2009-11-10 22:02 ` Linus Torvalds
2009-11-10 22:02 ` Linus Torvalds
2009-11-11 8:08 ` GPF in run_workqueue()/list_del_init(cwq->worklist.next) on resume Tejun Heo
2009-11-11 8:08 ` Tejun Heo
2009-11-11 18:13 ` Oleg Nesterov
2009-11-12 4:56 ` Tejun Heo
2009-11-12 4:56 ` Tejun Heo
2009-11-12 18:35 ` Oleg Nesterov
2009-11-12 19:14 ` Tejun Heo
2009-11-12 19:14 ` Tejun Heo
2009-11-16 11:01 ` Tejun Heo
2009-11-16 11:01 ` Tejun Heo
2009-11-12 18:35 ` Oleg Nesterov
2009-11-11 18:13 ` Oleg Nesterov
2009-11-11 11:52 ` GPF in run_workqueue()/list_del_init(cwq->worklist.next) on resume (was: Re: Help needed: Resume problems in 2.6.32-rc, perhaps related to preempt_count leakage in keventd) Rafael J. Wysocki
2009-11-11 19:52 ` Linus Torvalds
2009-11-11 19:52 ` Linus Torvalds
2009-11-11 20:18 ` Marcel Holtmann
2009-11-11 20:25 ` Linus Torvalds
2009-11-11 20:25 ` Linus Torvalds
2009-11-11 21:18 ` Rafael J. Wysocki
2009-11-11 21:18 ` Rafael J. Wysocki
2009-11-11 21:13 ` Oliver Neukum
2009-11-11 21:13 ` Oliver Neukum
2009-11-11 21:38 ` Linus Torvalds
2009-11-11 21:38 ` Linus Torvalds
2009-11-11 21:44 ` Oliver Neukum
2009-11-11 21:44 ` Oliver Neukum
2009-11-11 20:18 ` Marcel Holtmann
2009-11-11 11:52 ` Rafael J. Wysocki
2009-11-11 16:13 ` Oleg Nesterov
2009-11-11 20:00 ` Rafael J. Wysocki
2009-11-11 20:00 ` Rafael J. Wysocki
2009-11-11 20:11 ` Linus Torvalds
2009-11-11 20:11 ` Linus Torvalds
2009-11-11 20:20 ` Marcel Holtmann
2009-11-11 20:20 ` Marcel Holtmann
2009-11-11 20:24 ` Oleg Nesterov
2009-11-11 20:24 ` Oleg Nesterov [this message]
2009-11-11 21:15 ` Oliver Neukum
2009-11-11 21:15 ` Oliver Neukum
2009-11-11 16:13 ` Oleg Nesterov
2009-11-11 17:17 ` Oleg Nesterov
2009-11-11 17:17 ` Oleg Nesterov
2009-11-12 17:33 ` Thomas Gleixner
2009-11-12 19:17 ` GPF in run_workqueue()/list_del_init(cwq->worklist.next) on resume Tejun Heo
2009-11-12 20:53 ` Thomas Gleixner
2009-11-12 20:53 ` Thomas Gleixner
2009-11-12 19:17 ` Tejun Heo
2009-11-12 20:53 ` GPF in run_workqueue()/list_del_init(cwq->worklist.next) on resume (was: Re: Help needed: Resume problems in 2.6.32-rc, perhaps related to preempt_count leakage in keventd) Rafael J. Wysocki
2009-11-12 20:55 ` Thomas Gleixner
2009-11-12 20:55 ` Thomas Gleixner
2009-11-12 22:55 ` Rafael J. Wysocki
2009-11-12 22:55 ` Rafael J. Wysocki
2009-11-12 23:08 ` Thomas Gleixner
2009-11-12 23:08 ` Thomas Gleixner
2009-11-12 20:53 ` Rafael J. Wysocki
2009-11-15 23:37 ` Frederic Weisbecker
2009-11-15 23:37 ` Frederic Weisbecker
2009-11-15 23:40 ` Frederic Weisbecker
2009-11-15 23:40 ` Frederic Weisbecker
2009-11-12 17:33 ` Thomas Gleixner
2009-11-09 20:45 ` Rafael J. Wysocki
2009-11-09 19:13 ` Help needed: Resume problems in 2.6.32-rc, perhaps related to preempt_count leakage in keventd Thomas Gleixner
2009-11-09 20:03 ` Rafael J. Wysocki
2009-11-09 20:03 ` Rafael J. Wysocki
2009-11-09 19:13 ` Thomas Gleixner
2009-11-09 17:36 ` Rafael J. Wysocki
2009-11-09 16:19 ` Mike Galbraith
2009-11-09 15:47 ` Rafael J. Wysocki
2009-11-09 14:26 ` Rafael J. Wysocki
2009-11-09 14:44 ` Mike Galbraith
2009-11-09 15:47 ` Rafael J. Wysocki
2009-11-09 15:47 ` Rafael J. Wysocki
2009-11-09 14:44 ` Mike Galbraith
2009-11-09 14:26 ` Rafael J. Wysocki
2009-11-09 15:57 ` Linus Torvalds
2009-11-09 15:57 ` Linus Torvalds
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=20091111202433.GA5714@redhat.com \
--to=oleg@redhat.com \
--cc=efault@gmx.de \
--cc=gregkh@suse.de \
--cc=jbarnes@virtuousgeek.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=marcel@holtmann.org \
--cc=mingo@elte.hu \
--cc=oliver@neukum.org \
--cc=rjw@sisk.pl \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=torvalds@linux-foundation.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.