TIP:n sched/core-haaran kautta on nyt jonossa Linux-ytimen ajoituskorjaus, joka voi auttaa tehtävien ajoituksessa AMD-prosessoreissa, joissa on useita viimeisen tason välimuistia (LLC:t/L3-välimuisti). Tämä pieni parannus tuli sen jälkeen, kun Linux-ytimen kehittäjä havaitsi AMD Zen 2-työpöydällään.
Tämä muutos, joka pitäisi yhdistää Linux 6.5:een nyt, kun se on tip/tip.gitin sched/core-haarassa, on usean LLC:n tietoinen select_idle_sibling()-toteutus. Tällä hetkellä kun ajastin etsii käyttämättömää suoritinta ajoitustoimialueelta, se ei katsoisi nykyisen LLC:n jakavan ydinryhmän ulkopuolelle. Mutta nyt tämän multi-LLC-version kanssa se harkitsee muita LLC:itä, jos paikallinen LLC tulee tyhjäksi.
Pitkäaikaisen Linux-ytimen insinöörin Peter Zijlstran korjaustiedosto selittää:
sched/fair: Multi-LLC select_idle_sibling() >
[Linux-kehittäjä Tejun Heo] raportoi, että kun hän kohdistaa työjonot tiettyyn LLC:hen Zen2-koneessaan, jossa on 3 ydintä/LLC:tä ja yhteensä 4 LLC:tä, hän saa huomattavaa tyhjäkäyntiä.
Tämä johtuu tietysti siitä, kuinka select_idle_sibling() ei ota huomioon mitään paikallisen LLC:n ulkopuolella, ja koska kaikki nämä tehtävät ovat lyhytaikaisia, jaksollinen tyhjäkäynnin kuormituksen tasapainotin on tehoton.
Ja vaikka työvälimuisti on hyvä pitää paikallisena, on parempi, ettei sinulla ole merkittävää joutoaikaa. Siksi on select_idle_sibling() kokeiltava muita LLC:itä saman solmun sisällä, kun paikallinen tulee tyhjäksi.
Erityisesti ne, joilla on nykyaikaiset AMD-järjestelmät ja jotka haluavat testata tätä korjaustiedostoa ennen odotettua Linux 6.5:n yhdistämisikkuna löytyy osoitteesta