If the function is called with tsk1 == tsk2, we know for sure that theirReviewed-by: Waiman Long <longman@xxxxxxxxxx>
mems_allowed nodes do intersect, and so we can return immediately instead
of checking the nodes content.
Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx>
---
kernel/cgroup/cpuset.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
index 4237c8748715..47ed206d4890 100644
--- a/kernel/cgroup/cpuset.c
+++ b/kernel/cgroup/cpuset.c
@@ -5010,6 +5010,9 @@ EXPORT_SYMBOL_GPL(cpuset_mem_spread_node);
int cpuset_mems_allowed_intersects(const struct task_struct *tsk1,
const struct task_struct *tsk2)
{
+ if (tsk1 == tsk2)
+ return 1;
+
return nodes_intersects(tsk1->mems_allowed, tsk2->mems_allowed);
}