Unverified Commit fcc18642 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!6885 [sync] PR-6740: V2 cpuset: fix race between rebuild scheduler domains and hotplug work

Merge Pull Request from: @openeuler-sync-bot 
 

Origin pull request: 
https://gitee.com/openeuler/kernel/pulls/6740 
 
PR sync from: Chen Ridong <chenridong@huawei.com>
https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/6O355ODO7JE7BEQD7TUALF6PNCTXYNYO/ 
*** BLURB HERE ***

Chen Ridong (1):
  cpuset: fix race between rebuild scheduler domains and hotplug work


-- 
2.34.1
 
https://gitee.com/openeuler/kernel/issues/I9ER2W 
 
Link:https://gitee.com/openeuler/kernel/pulls/6885

 

Reviewed-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parents 0ecb0018 cceadd57
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -997,6 +997,7 @@ static void rebuild_sched_domains_locked(void)
	cpumask_var_t *doms;
	struct cpuset *cs;
	int ndoms;
	int i;

	lockdep_assert_cpus_held();
	percpu_rwsem_assert_held(&cpuset_rwsem);
@@ -1038,6 +1039,12 @@ static void rebuild_sched_domains_locked(void)
	/* Generate domain masks and attrs */
	ndoms = generate_sched_domains(&doms, &attr);

	/* guarantee no CPU offlining in doms */
	for (i = 0; i < ndoms; ++i) {
		if (doms && !cpumask_subset(doms[i], cpu_active_mask))
			return;
	}

	/* Have scheduler rebuild the domains */
	partition_and_rebuild_sched_domains(ndoms, doms, attr);
}