]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
cpuset: Don't always flush cpuset_migrate_mm_wq in cpuset_write_resmask
authorChuyi Zhou <zhouchuyi@bytedance.com>
Thu, 4 Sep 2025 07:45:03 +0000 (15:45 +0800)
committerTejun Heo <tj@kernel.org>
Thu, 4 Sep 2025 17:15:30 +0000 (07:15 -1000)
It is unnecessary to always wait for the flush operation of
cpuset_migrate_mm_wq to complete in cpuset_write_resmask, as modifying
cpuset.cpus or cpuset.exclusive does not trigger mm migrations. The
flush_workqueue can be executed only when cpuset.mems is modified.

Signed-off-by: Chuyi Zhou <zhouchuyi@bytedance.com>
Reviewed-by: Michal Koutný <mkoutny@suse.com>
Reviewed-by: Waiman Long <longman@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/cgroup/cpuset.c

index c0c281a8860d3552738bdb3f828e304f1a5532b5..9fc20ef97d7e5bddeea3fefa9342c351a3664ddd 100644 (file)
@@ -3291,7 +3291,8 @@ ssize_t cpuset_write_resmask(struct kernfs_open_file *of,
                rebuild_sched_domains_locked();
 out_unlock:
        cpuset_full_unlock();
-       flush_workqueue(cpuset_migrate_mm_wq);
+       if (of_cft(of)->private == FILE_MEMLIST)
+               flush_workqueue(cpuset_migrate_mm_wq);
        return retval ?: nbytes;
 }