* [PATCH] swsusp: finally solve mysqld problem
@ 2006-02-05 12:21 Rafael J. Wysocki
2006-03-25 18:38 ` Adrian Bunk
0 siblings, 1 reply; 4+ messages in thread
From: Rafael J. Wysocki @ 2006-02-05 12:21 UTC (permalink / raw)
To: Andrew Morton; +Cc: LKML, Pavel Machek
Hi,
This patch from Pavel moves userland freeze signals handling into
more logical place. It now hits even with mysqld running.
Please apply.
Greetings,
Rafael
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Pavel Machek <pavel@suse.cz>
Index: linux-2.6.16-rc1-mm5/arch/i386/kernel/signal.c
===================================================================
--- linux-2.6.16-rc1-mm5.orig/arch/i386/kernel/signal.c
+++ linux-2.6.16-rc1-mm5/arch/i386/kernel/signal.c
@@ -582,9 +582,6 @@ static void fastcall do_signal(struct pt
if (!user_mode(regs))
return;
- if (try_to_freeze())
- goto no_signal;
-
if (test_thread_flag(TIF_RESTORE_SIGMASK))
oldset = ¤t->saved_sigmask;
else
@@ -613,7 +610,6 @@ static void fastcall do_signal(struct pt
return;
}
-no_signal:
/* Did we come from a system call? */
if (regs->orig_eax >= 0) {
/* Restart the system call - no handlers present */
Index: linux-2.6.16-rc1-mm5/arch/x86_64/kernel/signal.c
===================================================================
--- linux-2.6.16-rc1-mm5.orig/arch/x86_64/kernel/signal.c
+++ linux-2.6.16-rc1-mm5/arch/x86_64/kernel/signal.c
@@ -443,9 +443,6 @@ int do_signal(struct pt_regs *regs, sigs
if (!user_mode(regs))
return 1;
- if (try_to_freeze())
- goto no_signal;
-
if (!oldset)
oldset = ¤t->blocked;
@@ -463,7 +460,6 @@ int do_signal(struct pt_regs *regs, sigs
return handle_signal(signr, &info, &ka, oldset, regs);
}
- no_signal:
/* Did we come from a system call? */
if ((long)regs->orig_rax >= 0) {
/* Restart the system call - no handlers present */
Index: linux-2.6.16-rc1-mm5/kernel/signal.c
===================================================================
--- linux-2.6.16-rc1-mm5.orig/kernel/signal.c
+++ linux-2.6.16-rc1-mm5/kernel/signal.c
@@ -1922,6 +1922,8 @@ int get_signal_to_deliver(siginfo_t *inf
sigset_t *mask = ¤t->blocked;
int signr = 0;
+ try_to_freeze();
+
relock:
spin_lock_irq(¤t->sighand->siglock);
for (;;) {
@@ -2307,7 +2309,6 @@ sys_rt_sigtimedwait(const sigset_t __use
timeout = schedule_timeout_interruptible(timeout);
- try_to_freeze();
spin_lock_irq(¤t->sighand->siglock);
sig = dequeue_signal(current, &these, &info);
current->blocked = current->real_blocked;
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] swsusp: finally solve mysqld problem
2006-02-05 12:21 [PATCH] swsusp: finally solve mysqld problem Rafael J. Wysocki
@ 2006-03-25 18:38 ` Adrian Bunk
2006-03-26 0:38 ` Rafael J. Wysocki
2006-03-27 10:12 ` Pavel Machek
0 siblings, 2 replies; 4+ messages in thread
From: Adrian Bunk @ 2006-03-25 18:38 UTC (permalink / raw)
To: Rafael J. Wysocki; +Cc: Andrew Morton, LKML, Pavel Machek
On Sun, Feb 05, 2006 at 01:21:54PM +0100, Rafael J. Wysocki wrote:
> Hi,
Hi Rafael,
> This patch from Pavel moves userland freeze signals handling into
> more logical place. It now hits even with mysqld running.
>...
I've seen this patch has been included in Linus' tree.
What exactly was this "mysqld problem" problem, and more specifically,
is this patch 2.6.16.2 material?
> Greetings,
> Rafael
>...
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] swsusp: finally solve mysqld problem
2006-03-25 18:38 ` Adrian Bunk
@ 2006-03-26 0:38 ` Rafael J. Wysocki
2006-03-27 10:12 ` Pavel Machek
1 sibling, 0 replies; 4+ messages in thread
From: Rafael J. Wysocki @ 2006-03-26 0:38 UTC (permalink / raw)
To: Adrian Bunk; +Cc: Andrew Morton, LKML, Pavel Machek
Hi,
On Saturday 25 March 2006 19:38, Adrian Bunk wrote:
> On Sun, Feb 05, 2006 at 01:21:54PM +0100, Rafael J. Wysocki wrote:
>
> > Hi,
>
> Hi Rafael,
>
> > This patch from Pavel moves userland freeze signals handling into
> > more logical place. It now hits even with mysqld running.
> >...
>
> I've seen this patch has been included in Linus' tree.
>
> What exactly was this "mysqld problem" problem, and more specifically,
> is this patch 2.6.16.2 material?
I don't think it's that urgent, but actually Pavel knows the details (test case
etc.). IIRC there was/is a problem with freezing mysqld due to the
way in which the userland freeze signals are handled without this patch.
Still mysqld is the only known (to me) application affected.
Greetings,
Rafael
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] swsusp: finally solve mysqld problem
2006-03-25 18:38 ` Adrian Bunk
2006-03-26 0:38 ` Rafael J. Wysocki
@ 2006-03-27 10:12 ` Pavel Machek
1 sibling, 0 replies; 4+ messages in thread
From: Pavel Machek @ 2006-03-27 10:12 UTC (permalink / raw)
To: Adrian Bunk; +Cc: Rafael J. Wysocki, Andrew Morton, LKML
On So 25-03-06 19:38:17, Adrian Bunk wrote:
> On Sun, Feb 05, 2006 at 01:21:54PM +0100, Rafael J. Wysocki wrote:
>
> > Hi,
>
> Hi Rafael,
>
> > This patch from Pavel moves userland freeze signals handling into
> > more logical place. It now hits even with mysqld running.
> >...
>
> I've seen this patch has been included in Linus' tree.
>
> What exactly was this "mysqld problem" problem, and more specifically,
> is this patch 2.6.16.2 material?
Suspend failed with mysqld running (for a *long* time). I believe this
patch would be too risky for 2.6.16.2.
Pavel
--
Picture of sleeping (Linux) penguin wanted...
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-03-27 10:12 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-05 12:21 [PATCH] swsusp: finally solve mysqld problem Rafael J. Wysocki
2006-03-25 18:38 ` Adrian Bunk
2006-03-26 0:38 ` Rafael J. Wysocki
2006-03-27 10:12 ` Pavel Machek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox