Re: [PATCH v4 4/7] cgroup: cgroup v2 freezer
From: Oleg Nesterov <oleg@redhat.com>
Date: 2018-12-03 14:49:11
Also in:
linux-doc, lkml
From: Oleg Nesterov <oleg@redhat.com>
Date: 2018-12-03 14:49:11
Also in:
linux-doc, lkml
On 11/30, Roman Gushchin wrote:
+void cgroup_enter_frozen(void)
+{
+ if (!current->frozen) {
+ struct cgroup *cgrp;
+
+ spin_lock_irq(&css_set_lock);
+ current->frozen = true;
+ cgrp = task_dfl_cgroup(current);
+ cgrp->freezer.nr_frozen_tasks++;
+ WARN_ON_ONCE(cgrp->freezer.nr_frozen_tasks >
+ cgrp->freezer.nr_tasks_to_freeze);
+ cgroup_update_frozen(cgrp, true);
+ spin_unlock_irq(&css_set_lock);
+ }
+
+ __set_current_state(TASK_INTERRUPTIBLE);
+ schedule();
+ __set_current_state(TASK_RUNNING);forgot to mention, schedule() always returns in TASK_RUNNING, so the 2nd __set_current_state() is pointless. Oleg.