public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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 = &current->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 = &current->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 = &current->blocked;
 	int signr = 0;
 
+	try_to_freeze();
+
 relock:
 	spin_lock_irq(&current->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(&current->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