2021-ben vezették be a klaszter-érzékeny ütemezés támogatását, amelynek célja az volt, hogy jobb ütemezést biztosítson azoknál a CPU-mag klasztereknél, amelyek közös L2 cache-t vagy más köztes erőforrásokat használnak. Akkoriban, miután bekerült a kernelbe, felhívták a figyelmet az új ütemezés miatti visszaesésekre az Intel hibrid CPU-kon. Azóta ugyan sokat javítottak rajta, a klaszter-érzékeny ütemezés még mindig nem hozta a kívánt szintet az Intel hibrid processzorain. A Linux 7.3 esetében viszont úgy tűnik, sokkal jobb lesz a helyzet. Az Intel Linux mérnöke, Ricardo Neri vezeti a legújabb munkát, amely a klaszter-ütemezés javítására fókuszál az aszimmetrikus kapacitású processzorokon. A legutóbbi javítócsomagokban így magyarázta:
„A klaszter-ütemezés célja, hogy maximalizálja a teljesítményt azzal, hogy a terhelést szétosztja azok között a CPU-klaszterek között, amelyek köztes szintű erőforrásokat osztanak meg. Ez jól működik egységes felépítésű rendszereken, de szétesik olyan topológiákon, ahol nagy és kis magok klaszterekbe rendezve dolgoznak együtt. Emiatt több, már piacon lévő és közelgő Intel processzor-generáción is hibásan működik.
...
Részben terhelt rendszeren (ahol vannak üresjáratban lévő CPU-k, a foglalt CPU-kon pedig egy-egy feladat fut) az aszimmetrikus kapacitásra optimalizált ütemezés gondoskodik róla, hogy a „misfit” feladatok a nagy magokra kerüljenek. A maradék feladatok, legyenek akár „misfit”, akár nem, a kis magokon futnak. Ha a CONFIG_SCHED_CLUSTER be van kapcsolva, ezeket a maradék feladatokat elvileg egyenletesen kellene elosztani a kis magok klaszterei között. Jelenleg ez nem történik meg.
...
Ezek a problémák együtt megakadályozzák a klaszter-szintű terheléskiegyenlítést az aszimmetrikus CPU-kapacitású rendszereken.
Ez a sorozat mindegyik problémát kezeli, és visszaállítja a tervezett működést. A részleteket, az indoklást és a kódváltozásokat minden egyes javítócsomag külön ismerteti.
A javítócsomagokat Alder Lake rendszeren teszteltem, amelyen SMT-s P-magok és E-mag klaszterek is vannak. SMT-vel kikapcsolt és bekapcsolt állapotban is kipróbáltam. Teszteltem Lunar Lake-en és Panther Lake-en is, ahol az egyik E-mag klaszter nincs rákötve az L3 cache-re. Ugyanezeket a kísérleteket megismételtem kikapcsolt CONFIG_SCHED_CLUSTER mellett is. A load balancer a várakozásoknak megfelelően viselkedett.”
Ezeket a javítócsomagokat már be is sorolták a tip/tip.Git sched/core Git ágába. Mivel mostanra bekerültek egy TIP ágba, várhatóan beolvasztják őket a közelgő Linux 7.3 ciklusba. Teljesítményméréseket egyelőre nem közöltek a javítócsomagokról. Rémélem látunk majd néhány benchmarkot Intel Core Ultra processzorokon, hogy lássuk, hogyan hatnak a változások a teljesítményre különböző terhelések mellett.

