A Linux kernel sched_ext nevű, BPF-alapú ütemezői rendszerében a következő fejlesztési ciklusban olyan változtatás jelenhet meg, amely előnyben részesíti az üres SMT testvérszálakat a feladatok elhelyezésénél. A sched_ext lényege, hogy a fejlesztők a hagyományos kernelütemezőnél szabadabban próbálhassanak ki új ütemezési szabályokat, a most előkészített módosítás pedig azt írja át, milyen sorrendben választ a beépített logika szabad processzormagot vagy szálat.
Tartalomjegyzék

Topológiaérzékenyebb ütemezési logikát kaphat a sched_ext
Andrea Righi, az NVIDIA fejlesztője a 7.1-es ciklusra beküldött patchben azt javasolja, hogy ha az előzőleg használt CPU már foglalt, és nincs teljesen üres mag, akkor a sched_ext először annak SMT testvérszálát próbálja meg kiválasztani, amennyiben az szabad. Csak ezután következne az azonos utolsó szintű gyorsítótárhoz tartozó másik CPU, majd a NUMA-csomópont szerinti keresés, végül bármely más üres CPU a rendszerben. A patch indoklása szerint ez olcsóbb áthelyezést tesz lehetővé, mert a feladat ugyanazon a magon maradhat, így jobban megőrizhető az L1 gyorsítótár állapota, és a felébresztési késleltetés is csökkenhet.
A változtatás lényege tehát, hogy a sched_ext beépített alapértelmezett idle CPU-választásának sorrendjét átírja. Ez azért érdekes, mert a sched_ext eredetileg is arra készült, hogy a fejlesztők BPF-programokkal viszonylag gyorsan próbálhassanak ki új ütemezési elképzeléseket, így a mostani módosítás ezt a teret használja ki egy topológiaérzékenyebb döntési szabállyal.
Nagyjából 2-3% teljesítmény javulást hoz a fejlesztés a kernel sched_ext ütemezőjében
Righi a patch leírásában azt írja, hogy nagy SMT-s rendszereken ez a preferencia nagyjából 2–3 százalékos átbocsátás-növekedést hozhat CPU-igényes terhelésnél, amikor a futó feladatok száma megegyezik az SMT-szálak számával. A levelezőlistás egyeztetésben ehhez azt is hozzátette, hogy belső szerveres mérésnél az egyik NVBLAS-alapú, tisztán CPU-terhelésű teszt mutatta a legjobb, körülbelül 3 százalékos eredményt.
A változás jelenleg a sched_ext fejlesztési ágának for-7.1 jelölésű patchsorozatában szerepel, ezért minden jel arra utal, hogy a következő, áprilisban nyíló Linux 7.1 merge window egyik kisebb ütemezői módosítása lehet.
