Skip to content

Commit c1b6305

Browse files
aeglbp3tk0v
authored andcommitted
x86/resctrl: Clean up domain_remove_cpu_ctrl()
For symmetry with domain_remove_cpu_mon() refactor domain_remove_cpu_ctrl() to take an early return when removing a CPU does not empty the domain. Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Reinette Chatre <reinette.chatre@intel.com> Link: https://lore.kernel.org/20251217172121.12030-1-tony.luck@intel.com
1 parent 6396fc5 commit c1b6305

1 file changed

Lines changed: 14 additions & 15 deletions

File tree

  • arch/x86/kernel/cpu/resctrl

arch/x86/kernel/cpu/resctrl/core.c

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -604,28 +604,27 @@ static void domain_remove_cpu_ctrl(int cpu, struct rdt_resource *r)
604604
return;
605605
}
606606

607+
cpumask_clear_cpu(cpu, &hdr->cpu_mask);
608+
if (!cpumask_empty(&hdr->cpu_mask))
609+
return;
610+
607611
if (!domain_header_is_valid(hdr, RESCTRL_CTRL_DOMAIN, r->rid))
608612
return;
609613

610614
d = container_of(hdr, struct rdt_ctrl_domain, hdr);
611615
hw_dom = resctrl_to_arch_ctrl_dom(d);
612616

613-
cpumask_clear_cpu(cpu, &d->hdr.cpu_mask);
614-
if (cpumask_empty(&d->hdr.cpu_mask)) {
615-
resctrl_offline_ctrl_domain(r, d);
616-
list_del_rcu(&d->hdr.list);
617-
synchronize_rcu();
618-
619-
/*
620-
* rdt_ctrl_domain "d" is going to be freed below, so clear
621-
* its pointer from pseudo_lock_region struct.
622-
*/
623-
if (d->plr)
624-
d->plr->d = NULL;
625-
ctrl_domain_free(hw_dom);
617+
resctrl_offline_ctrl_domain(r, d);
618+
list_del_rcu(&hdr->list);
619+
synchronize_rcu();
626620

627-
return;
628-
}
621+
/*
622+
* rdt_ctrl_domain "d" is going to be freed below, so clear
623+
* its pointer from pseudo_lock_region struct.
624+
*/
625+
if (d->plr)
626+
d->plr->d = NULL;
627+
ctrl_domain_free(hw_dom);
629628
}
630629

631630
static void domain_remove_cpu_mon(int cpu, struct rdt_resource *r)

0 commit comments

Comments
 (0)