From: Pavel Machek <pavel@ucw.cz>
To: Hugang <hugang@soulinfo.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Nigel Cunningham <ncunningham@users.sourceforge.net>,
Patrick Mochel <mochel@digitalimplant.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
linuxppc-dev list <linuxppc-dev@lists.linuxppc.org>
Subject: Re: pmdisk working on ppc (WAS: Help port swsusp to ppc)
Date: Thu, 29 Jan 2004 11:29:48 +0100 [thread overview]
Message-ID: <20040129102948.GA480@elf.ucw.cz> (raw)
In-Reply-To: <20040129165119.553403f1@localhost>
Hi!
> > As long as you make sure you save the LR in case you need it, you
> > can call asm functions. macros are _evil_ :)
> >
> > Also, you can remove the code playing with BATs for now, they don't
> > really need to be saved. If the boot kernel sets them up any
> > differently than the saved kernel, we are in trouble anyway. And the
> > G5 has no BATs.
>
> Thanks, I hate macros too, I'll change code to function as soon as
> possible.
>
> First I would tell you current swusp(2) signal ppc part has a problem.
> I has add follow code into do_signal to let process to FREEZE before
> suspend.
> ppc/
> int signr, ret;
>
> + if (current->flags & PF_FREEZE) {
> + refrigerator(PF_FREEZE);
> + return 0;
> + }
>
> if (!oldset)
> oldset = ¤t->blocked;
>
> i386/
> if (current->flags & PF_FREEZE) {
> refrigerator(PF_FREEZE);
> if (!signal_pending(current))
> goto no_signal;
> }
You may want to try this one.. Maybe it helps?
Pavel
Index: linux/kernel/power/process.c
===================================================================
--- linux.orig/kernel/power/process.c 2004-01-13 22:52:40.000000000 +0100
+++ linux/kernel/power/process.c 2004-01-09 20:33:05.000000000 +0100
@@ -49,10 +49,11 @@
pr_debug("%s entered refrigerator\n", current->comm);
printk("=");
current->flags &= ~PF_FREEZE;
- if (flag)
- flush_signals(current); /* We have signaled a kernel thread, which isn't normal behaviour
- and that may lead to 100%CPU sucking because those threads
- just don't manage signals. */
+
+ spin_lock_irq(¤t->sighand->siglock);
+ recalc_sigpending(); /* We sent fake signal, clean it up */
+ spin_unlock_irq(¤t->sighand->siglock);
+
current->flags |= PF_FROZEN;
while (current->flags & PF_FROZEN)
schedule();
--
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
next prev parent reply other threads:[~2004-01-29 10:30 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-19 2:52 Help port swsusp to ppc Hugang
2004-01-19 3:04 ` Nigel Cunningham
2004-01-19 3:35 ` Benjamin Herrenschmidt
2004-01-19 5:20 ` Nigel Cunningham
2004-01-19 11:39 ` Benjamin Herrenschmidt
2004-01-19 17:56 ` Nigel Cunningham
2004-01-19 22:03 ` Benjamin Herrenschmidt
2004-01-20 20:44 ` Pavel Machek
2004-01-20 21:54 ` Benjamin Herrenschmidt
2004-01-20 22:07 ` Nigel Cunningham
2004-01-20 22:42 ` Pavel Machek
2004-01-22 13:17 ` Hugang
2004-01-22 17:53 ` Nigel Cunningham
2004-01-23 0:15 ` Hugang
2004-01-23 7:12 ` Benjamin Herrenschmidt
2004-01-23 10:30 ` Hugang
2004-01-24 2:54 ` pmdisk working on ppc (WAS: Help port swsusp to ppc) Benjamin Herrenschmidt
2004-01-24 5:40 ` Hugang
2004-01-24 16:28 ` Colin Leroy
2004-01-24 23:46 ` Benjamin Herrenschmidt
2004-01-25 18:08 ` Colin Leroy
2004-01-26 0:08 ` Benjamin Herrenschmidt
2004-01-26 18:21 ` Colin Leroy
2004-01-26 21:58 ` Benjamin Herrenschmidt
2004-01-26 14:29 ` Guido Guenther
[not found] ` <20040126181004.GB315@elf.ucw.cz>
2004-01-26 22:00 ` Benjamin Herrenschmidt
2004-01-26 22:31 ` Nigel Cunningham
2004-01-28 12:22 ` Hugang
2004-01-28 13:23 ` pmdisk working on ppc (WAS: Help port swsusp to ppc), swsusp2 works Hugang
[not found] ` <20040129012720.1385c41a@localhost>
2004-01-28 19:05 ` Nigel Cunningham
2004-01-28 19:10 ` Hugang
2004-01-29 0:34 ` pmdisk working on ppc (WAS: Help port swsusp to ppc) Benjamin Herrenschmidt
2004-01-29 2:05 ` Hugang
2004-01-29 4:23 ` Benjamin Herrenschmidt
[not found] ` <20040129165119.553403f1@localhost>
2004-01-29 10:29 ` Pavel Machek [this message]
2004-01-29 10:50 ` Hugang
2004-01-29 12:12 ` Benjamin Herrenschmidt
2004-01-26 23:21 ` Pavel Machek
2004-01-27 0:12 ` Nigel Cunningham
2004-01-27 7:53 ` Pavel Machek
2004-01-24 4:39 ` Benjamin Herrenschmidt
2004-01-24 7:20 ` Pavel Machek
2004-01-24 9:59 ` pmdisk working on ppc Måns Rullgård
2004-01-19 20:45 ` Help port swsusp to ppc Pavel Machek
2004-01-19 23:38 ` Benjamin Herrenschmidt
2004-01-20 0:04 ` Pavel Machek
2004-01-20 1:06 ` Benjamin Herrenschmidt
2004-01-20 10:02 ` Pavel Machek
2004-01-20 11:25 ` Benjamin Herrenschmidt
2004-01-20 11:44 ` Pavel Machek
2004-01-20 9:53 ` Geert Uytterhoeven
2004-01-20 10:04 ` Pavel Machek
2004-01-20 11:26 ` Benjamin Herrenschmidt
2004-01-20 11:36 ` Pavel Machek
2004-01-20 11:44 ` Benjamin Herrenschmidt
2004-01-20 11:57 ` Pavel Machek
2004-01-20 18:30 ` Nigel Cunningham
2004-01-20 21:43 ` Benjamin Herrenschmidt
2004-01-20 11:22 ` Benjamin Herrenschmidt
2004-01-19 20:40 ` Pavel Machek
2004-01-19 23:40 ` Benjamin Herrenschmidt
2004-01-19 23:59 ` Pavel Machek
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=20040129102948.GA480@elf.ucw.cz \
--to=pavel@ucw.cz \
--cc=benh@kernel.crashing.org \
--cc=hugang@soulinfo.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.linuxppc.org \
--cc=mochel@digitalimplant.org \
--cc=ncunningham@users.sourceforge.net \
/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