1
0
Fork 0

freezer: remove unused @sig_only from freeze_task()

After "freezer: make freezing() test freeze conditions in effect
instead of TIF_FREEZE", freezing() returns authoritative answer on
whether the current task should freeze or not and freeze_task()
doesn't need or use @sig_only.  Remove it.

While at it, rewrite function comment for freeze_task() and rename
@sig_only to @user_only in try_to_freeze_tasks().

This patch doesn't cause any functional change.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Oleg Nesterov <oleg@redhat.com>
hifive-unleashed-5.1
Tejun Heo 2011-11-21 12:32:26 -08:00
parent 37ad8aca94
commit 839e3407d9
4 changed files with 16 additions and 19 deletions

View File

@ -48,7 +48,7 @@ static inline bool try_to_freeze(void)
return __refrigerator(false); return __refrigerator(false);
} }
extern bool freeze_task(struct task_struct *p, bool sig_only); extern bool freeze_task(struct task_struct *p);
extern bool __set_freezable(bool with_signal); extern bool __set_freezable(bool with_signal);
#ifdef CONFIG_CGROUP_FREEZER #ifdef CONFIG_CGROUP_FREEZER

View File

@ -206,7 +206,7 @@ static void freezer_fork(struct cgroup_subsys *ss, struct task_struct *task)
/* Locking avoids race with FREEZING -> THAWED transitions. */ /* Locking avoids race with FREEZING -> THAWED transitions. */
if (freezer->state == CGROUP_FREEZING) if (freezer->state == CGROUP_FREEZING)
freeze_task(task, true); freeze_task(task);
spin_unlock_irq(&freezer->lock); spin_unlock_irq(&freezer->lock);
} }
@ -274,7 +274,7 @@ static int try_to_freeze_cgroup(struct cgroup *cgroup, struct freezer *freezer)
cgroup_iter_start(cgroup, &it); cgroup_iter_start(cgroup, &it);
while ((task = cgroup_iter_next(cgroup, &it))) { while ((task = cgroup_iter_next(cgroup, &it))) {
if (!freeze_task(task, true)) if (!freeze_task(task))
continue; continue;
if (frozen(task)) if (frozen(task))
continue; continue;

View File

@ -100,20 +100,17 @@ static void fake_signal_wake_up(struct task_struct *p)
} }
/** /**
* freeze_task - send a freeze request to given task * freeze_task - send a freeze request to given task
* @p: task to send the request to * @p: task to send the request to
* @sig_only: if set, the request will only be sent if the task has the
* PF_FREEZER_NOSIG flag unset
* Return value: 'false', if @sig_only is set and the task has
* PF_FREEZER_NOSIG set or the task is frozen, 'true', otherwise
* *
* The freeze request is sent by setting the tasks's TIF_FREEZE flag and * If @p is freezing, the freeze request is sent by setting %TIF_FREEZE
* either sending a fake signal to it or waking it up, depending on whether * flag and either sending a fake signal to it or waking it up, depending
* or not it has PF_FREEZER_NOSIG set. If @sig_only is set and the task * on whether it has %PF_FREEZER_NOSIG set.
* has PF_FREEZER_NOSIG set (ie. it is a typical kernel thread), its *
* TIF_FREEZE flag will not be set. * RETURNS:
* %false, if @p is not freezing or already frozen; %true, otherwise
*/ */
bool freeze_task(struct task_struct *p, bool sig_only) bool freeze_task(struct task_struct *p)
{ {
unsigned long flags; unsigned long flags;

View File

@ -22,7 +22,7 @@
*/ */
#define TIMEOUT (20 * HZ) #define TIMEOUT (20 * HZ)
static int try_to_freeze_tasks(bool sig_only) static int try_to_freeze_tasks(bool user_only)
{ {
struct task_struct *g, *p; struct task_struct *g, *p;
unsigned long end_time; unsigned long end_time;
@ -37,14 +37,14 @@ static int try_to_freeze_tasks(bool sig_only)
end_time = jiffies + TIMEOUT; end_time = jiffies + TIMEOUT;
if (!sig_only) if (!user_only)
freeze_workqueues_begin(); freeze_workqueues_begin();
while (true) { while (true) {
todo = 0; todo = 0;
read_lock(&tasklist_lock); read_lock(&tasklist_lock);
do_each_thread(g, p) { do_each_thread(g, p) {
if (p == current || !freeze_task(p, sig_only)) if (p == current || !freeze_task(p))
continue; continue;
/* /*
@ -65,7 +65,7 @@ static int try_to_freeze_tasks(bool sig_only)
} while_each_thread(g, p); } while_each_thread(g, p);
read_unlock(&tasklist_lock); read_unlock(&tasklist_lock);
if (!sig_only) { if (!user_only) {
wq_busy = freeze_workqueues_busy(); wq_busy = freeze_workqueues_busy();
todo += wq_busy; todo += wq_busy;
} }