From: Colin Cross <ccross@android.com>
To: linux-pm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, "Rafael J. Wysocki" <rjw@sisk.pl>,
arve@android.com, Tejun Heo <tj@kernel.org>,
Oleg Nesterov <oleg@redhat.com>, Colin Cross <ccross@android.com>,
Al Viro <viro@zeniv.linux.org.uk>,
Andrew Morton <akpm@linux-foundation.org>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Serge Hallyn <serge.hallyn@canonical.com>
Subject: [PATCH v2 09/10] sigtimedwait: use freezable blocking call
Date: Wed, 1 May 2013 18:35:07 -0700 [thread overview]
Message-ID: <1367458508-9133-10-git-send-email-ccross@android.com> (raw)
In-Reply-To: <1367458508-9133-1-git-send-email-ccross@android.com>
Avoid waking up every thread sleeping in a sigtimedwait call during
suspend and resume by calling a freezable blocking call. Previous
patches modified the freezer to avoid sending wakeups to threads
that are blocked in freezable blocking calls.
This call was selected to be converted to a freezable call because
it doesn't hold any locks or release any resources when interrupted
that might be needed by another freezing task or a kernel driver
during suspend, and is a common site where idle userspace tasks are
blocked.
Signed-off-by: Colin Cross <ccross@android.com>
---
kernel/signal.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/signal.c b/kernel/signal.c
index 598dc06..10a70a0 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -2845,7 +2845,7 @@ int do_sigtimedwait(const sigset_t *which, siginfo_t *info,
recalc_sigpending();
spin_unlock_irq(&tsk->sighand->siglock);
- timeout = schedule_timeout_interruptible(timeout);
+ timeout = freezable_schedule_timeout_interruptible(timeout);
spin_lock_irq(&tsk->sighand->siglock);
__set_task_blocked(tsk, &tsk->real_blocked);
--
1.8.2.1
next prev parent reply other threads:[~2013-05-02 1:35 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-02 1:34 [PATCH v2 00/10] optimize freezing tasks by reducing task wakeups Colin Cross
2013-05-02 1:34 ` [PATCH v2 01/10] freezer: shorten freezer sleep time using exponential backoff Colin Cross
2013-05-02 23:20 ` Tejun Heo
2013-05-02 1:35 ` [PATCH v2 02/10] freezer: skip waking up tasks with PF_FREEZER_SKIP set Colin Cross
2013-05-02 23:24 ` Tejun Heo
2013-05-03 9:24 ` Pavel Machek
2013-05-02 1:35 ` [PATCH v2 03/10] freezer: add new freezable helpers using freezer_do_not_count() Colin Cross
2013-05-02 23:55 ` Tejun Heo
2013-05-03 0:03 ` Tejun Heo
2013-05-03 2:16 ` Colin Cross
2013-05-03 2:41 ` Colin Cross
2013-05-03 4:09 ` Tejun Heo
2013-05-03 4:12 ` Tejun Heo
2013-05-03 4:17 ` Colin Cross
2013-05-03 4:20 ` Tejun Heo
2013-05-03 14:18 ` Alan Stern
2013-05-03 16:54 ` Tejun Heo
2013-05-02 1:35 ` [PATCH v2 04/10] binder: use freezable blocking calls Colin Cross
2013-05-02 1:35 ` Colin Cross
2013-05-02 1:35 ` [PATCH v2 05/10] epoll: use freezable blocking call Colin Cross
2013-05-02 1:35 ` [PATCH v2 06/10] select: " Colin Cross
2013-05-02 1:35 ` [PATCH v2 07/10] futex: " Colin Cross
2013-05-02 19:45 ` Thomas Gleixner
2013-05-03 3:12 ` Darren Hart
2013-06-25 21:15 ` [tip:core/locking] futex: Use " tip-bot for Colin Cross
2013-05-02 1:35 ` [PATCH v2 08/10] nanosleep: use " Colin Cross
2013-05-02 19:46 ` Thomas Gleixner
2013-05-02 1:35 ` Colin Cross [this message]
2013-05-02 1:35 ` [PATCH v2 10/10] af_unix: use freezable blocking calls in read Colin Cross
2013-05-03 0:08 ` Tejun Heo
2013-05-04 19:19 ` Rafael J. Wysocki
2013-05-04 20:39 ` Tejun Heo
2013-05-04 22:23 ` Colin Cross
2013-05-05 11:23 ` Rafael J. Wysocki
2013-05-02 21:06 ` [PATCH v2 00/10] optimize freezing tasks by reducing task wakeups Rafael J. Wysocki
2013-05-03 0:10 ` Tejun Heo
2013-05-03 11:43 ` Rafael J. Wysocki
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=1367458508-9133-10-git-send-email-ccross@android.com \
--to=ccross@android.com \
--cc=akpm@linux-foundation.org \
--cc=arve@android.com \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=rjw@sisk.pl \
--cc=serge.hallyn@canonical.com \
--cc=tj@kernel.org \
--cc=viro@zeniv.linux.org.uk \
/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.