From: Johannes Berg <johannes@sipsolutions.net>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Andrew Morton <akpm@osdl.org>, Linus Torvalds <torvalds@osdl.org>,
Dave Vasilevsky <djvasi@gmail.com>, Pavel Machek <pavel@ucw.cz>,
Nigel Cunningham <nigel@suspend2.net>,
Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com>,
linux-pm <linux-pm@lists.osdl.org>
Subject: Re: SMP suspend broken due to "swsusp: Change code ordering in disk.c" et al.
Date: Fri, 23 Feb 2007 13:17:56 +0100 [thread overview]
Message-ID: <1172233076.3870.26.camel@johannes.berg> (raw)
In-Reply-To: <200702231254.47009.rjw@sisk.pl>
[-- Attachment #1.1: Type: text/plain, Size: 2054 bytes --]
[correcting address for Nigel]
Hi Rafael,
> Hm, the only freezable workqueues I was aware of were those in XFS.
Well, I have an XFS root fs. In fact, the one that was mostly causing it
was the xfs one, but I'm not sure it was all the time. The same bug
happens at resume time (if I manually offline all nonboot CPUs before
suspend), at which point I couldn't tell whether it was XFS or something
else.
> Moreover, the patch has got _a_ _lot_ of testing on SMP on x86_64
> and I believe it works for people on i386 too. So the workqueues in question
> seem to be architecture-specific. Is that correct?
There could be some arch-specific workqueues as well, but at least in
one case I saw xfsdatad causing it.
> > (1) would work, but also only punts the problem until someone wants to
> > do multi-threaded suspend (as if...).
>
> It will also break symmetry with the resume code that has to be like this
> because of ACPI-related issues.
Ok. I don't have any ACPI issues due to the lack of ACPI ;)
> > (2a) would sort-of work, but what if someone unplugs a CPU while the
> > system is suspended [will that even work]? the thread would get really
> > stuck there, bound to a CPU that no longer exists.
>
> Right now we are working on using the task freezer for CPU hotplugging and if
> that works, this won't be an issue.
Care to elaborate? It doesn't seem to make sense to freeze tasks that
are running on some other CPU if that one is going offline, but I'm
probably misunderstanding you here.
> I'd like to first understand why the workqueues in question here are freezable.
I don't think that matters much. We can't have freezable per-CPU
workqueues and then forbid using them.
> Could you please check if the appended patch (on top of the commit you have
> reverted) changes anything?
I can give it a go, but it doesn't look as though it'd help. It still
freezes all threads before disabling CPUs, and my debugging certainly
pinpointed to kthread_stop() in the workqueue.
johannes
[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 190 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
next prev parent reply other threads:[~2007-02-23 12:17 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-23 3:29 SMP suspend broken due to "swsusp: Change code ordering in disk.c" et al Johannes Berg
2007-02-23 11:54 ` Rafael J. Wysocki
2007-02-23 12:17 ` Johannes Berg [this message]
2007-02-23 13:25 ` Rafael J. Wysocki
2007-02-23 20:23 ` Johannes Berg
2007-02-24 0:01 ` Rafael J. Wysocki
2007-02-24 0:31 ` Johannes Berg
2007-02-24 8:57 ` Rafael J. Wysocki
2007-02-24 20:54 ` Rafael J. Wysocki
2007-02-24 21:07 ` Johannes Berg
2007-03-12 16:57 ` Roman Jarosz
2007-03-12 18:14 ` Rafael J. Wysocki
2007-02-23 13:31 ` Johannes Berg
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=1172233076.3870.26.camel@johannes.berg \
--to=johannes@sipsolutions.net \
--cc=akpm@osdl.org \
--cc=alexey.y.starikovskiy@linux.intel.com \
--cc=djvasi@gmail.com \
--cc=linux-pm@lists.osdl.org \
--cc=nigel@suspend2.net \
--cc=pavel@ucw.cz \
--cc=rjw@sisk.pl \
--cc=torvalds@osdl.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