topology.c (0cce0fde499a92c726cd2e24f7763644f7c9f971) | topology.c (cab3ecaed5cdcc9c36a96874b4c45056a46ece45) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Scheduler topology setup/handling methods 4 */ 5 6#include <linux/bsearch.h> 7 8DEFINE_MUTEX(sched_domains_mutex); --- 473 unchanged lines hidden (view full) --- 482 free_cpumask_var(rd->span); 483 free_pd(rd->pd); 484 kfree(rd); 485} 486 487void rq_attach_root(struct rq *rq, struct root_domain *rd) 488{ 489 struct root_domain *old_rd = NULL; | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Scheduler topology setup/handling methods 4 */ 5 6#include <linux/bsearch.h> 7 8DEFINE_MUTEX(sched_domains_mutex); --- 473 unchanged lines hidden (view full) --- 482 free_cpumask_var(rd->span); 483 free_pd(rd->pd); 484 kfree(rd); 485} 486 487void rq_attach_root(struct rq *rq, struct root_domain *rd) 488{ 489 struct root_domain *old_rd = NULL; |
490 unsigned long flags; | 490 struct rq_flags rf; |
491 | 491 |
492 raw_spin_rq_lock_irqsave(rq, flags); | 492 rq_lock_irqsave(rq, &rf); |
493 494 if (rq->rd) { 495 old_rd = rq->rd; 496 497 if (cpumask_test_cpu(rq->cpu, old_rd->online)) 498 set_rq_offline(rq); 499 500 cpumask_clear_cpu(rq->cpu, old_rd->span); --- 9 unchanged lines hidden (view full) --- 510 511 atomic_inc(&rd->refcount); 512 rq->rd = rd; 513 514 cpumask_set_cpu(rq->cpu, rd->span); 515 if (cpumask_test_cpu(rq->cpu, cpu_active_mask)) 516 set_rq_online(rq); 517 | 493 494 if (rq->rd) { 495 old_rd = rq->rd; 496 497 if (cpumask_test_cpu(rq->cpu, old_rd->online)) 498 set_rq_offline(rq); 499 500 cpumask_clear_cpu(rq->cpu, old_rd->span); --- 9 unchanged lines hidden (view full) --- 510 511 atomic_inc(&rd->refcount); 512 rq->rd = rd; 513 514 cpumask_set_cpu(rq->cpu, rd->span); 515 if (cpumask_test_cpu(rq->cpu, cpu_active_mask)) 516 set_rq_online(rq); 517 |
518 raw_spin_rq_unlock_irqrestore(rq, flags); | 518 rq_unlock_irqrestore(rq, &rf); |
519 520 if (old_rd) 521 call_rcu(&old_rd->rcu, free_rootdomain); 522} 523 524void sched_get_rd(struct root_domain *rd) 525{ 526 atomic_inc(&rd->refcount); --- 2221 unchanged lines hidden --- | 519 520 if (old_rd) 521 call_rcu(&old_rd->rcu, free_rootdomain); 522} 523 524void sched_get_rd(struct root_domain *rd) 525{ 526 atomic_inc(&rd->refcount); --- 2221 unchanged lines hidden --- |