Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'sched-urgent-2021-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler fix from Thomas Gleixner:
"A single fix for the x86 scheduler topology:

Using cluster topology on hybrid CPUs, e.g. Alder Lake, biases the
scheduler towards the ATOM cluster as that has more total capacity.
Use selection based on CPU priority instead"

* tag 'sched-urgent-2021-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
sched,x86: Don't use cluster topology for x86 hybrid CPUs

+14
+14
arch/x86/kernel/smpboot.c
··· 579 579 { NULL, }, 580 580 }; 581 581 582 + static struct sched_domain_topology_level x86_hybrid_topology[] = { 583 + #ifdef CONFIG_SCHED_SMT 584 + { cpu_smt_mask, x86_smt_flags, SD_INIT_NAME(SMT) }, 585 + #endif 586 + #ifdef CONFIG_SCHED_MC 587 + { cpu_coregroup_mask, x86_core_flags, SD_INIT_NAME(MC) }, 588 + #endif 589 + { cpu_cpu_mask, SD_INIT_NAME(DIE) }, 590 + { NULL, }, 591 + }; 592 + 582 593 static struct sched_domain_topology_level x86_topology[] = { 583 594 #ifdef CONFIG_SCHED_SMT 584 595 { cpu_smt_mask, x86_smt_flags, SD_INIT_NAME(SMT) }, ··· 1480 1469 1481 1470 calculate_max_logical_packages(); 1482 1471 1472 + /* XXX for now assume numa-in-package and hybrid don't overlap */ 1483 1473 if (x86_has_numa_in_package) 1484 1474 set_sched_topology(x86_numa_in_package_topology); 1475 + if (cpu_feature_enabled(X86_FEATURE_HYBRID_CPU)) 1476 + set_sched_topology(x86_hybrid_topology); 1485 1477 1486 1478 nmi_selftest(); 1487 1479 impress_friends();