Re: [PATCH 2/5] sched/topology: Wrappers for sched_domains_mutex

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/4/25 10:05 AM, Waiman Long wrote:
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -6,6 +6,19 @@
  #include <linux/bsearch.h>
    DEFINE_MUTEX(sched_domains_mutex);
+#ifdef CONFIG_SMP
+void sched_domains_mutex_lock(void)
+{
+    mutex_lock(&sched_domains_mutex);
+}
+void sched_domains_mutex_unlock(void)
+{
+    mutex_unlock(&sched_domains_mutex);
+}
+#else
+void sched_domains_mutex_lock(void) { }
+void sched_domains_mutex_unlock(void) { }
+#endif
    /* Protected by sched_domains_mutex: */
  static cpumask_var_t sched_domains_tmpmask;
@@ -2791,7 +2804,7 @@ void partition_sched_domains_locked(int ndoms_new, cpumask_var_t doms_new[],
  void partition_sched_domains(int ndoms_new, cpumask_var_t doms_new[],
                   struct sched_domain_attr *dattr_new)
  {
-    mutex_lock(&sched_domains_mutex);
+    sched_domains_mutex_lock();
      partition_sched_domains_locked(ndoms_new, doms_new, dattr_new);
-    mutex_unlock(&sched_domains_mutex);
+    sched_domains_mutex_unlock();
  }

There are two "lockdep_assert_held(&sched_domains_mutex);" statements in topology.c file and one in cpuset.c. That can be problematic in the non-SMP case. Maybe another wrapper to do the assert?

Ignore that as both topology.c and cpuset.c will only be compiled if CONFIG_SMP is defined. IOW, you don't need the the "#ifdef CONFIG_SMP" above.

Cheers,
Longman





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux