Yksi useista XFS-tiedostojärjestelmään valmisteilla olevat parannukset tulevalla Linux 5.20-syklillä keskittyvät CIL-skaalautuvuuden parantamiseen järjestelmissä, joissa on useita CPU-ytimiä.
XFS:n Darrick Wong on pyrkinyt parantamaan CIL:n skaalautuvuutta ja on yhdistänyt tämän työn xfs-5.20-merge ennen kuin Linux 5.20-yhdistämisikkuna avautuu kuun lopussa.
Tässä on yhteenveto tästä tietystä skaalautuvuuden parannuksesta:
Tämän sarjan tavoitteena on parantaa XFS-tapahtumasitoumusten skaalautuvuutta suurilla prosessorimäärän koneilla. 32p-koneeni saavuttaa kilpailurajat xlog_cil_commit():ssa, noin 700 000 tapahtumasitoumusosion kohdalla. Se saavuttaa tämän 16 säikeen työkuormalla, ja 32 säikeen työkuormat eivät mene nopeammin ja vain polttavat CPU:n CIL-spinlockeissa.
Tämä korjaustiedostosarja poistaa spinlockit ja globaalit serialisointipisteet xlog_cil_commit()-polussa. Se tekee tämän siirtymällä prosessorikohtaisten laskurien, järjestämättömien prosessorikohtaisten luetteloiden ja jälkitilattujen prosessorikohtaisten luetteloiden yhdistelmään.
Tämä johtaa siihen, että tapahtumasitoumusmäärät ylittävät 1,4 miljoonaa sitoumusta/s tietyissä työkuormissa, ja vaikka lokin lukituskiista on suurelta osin poissa, VFS:ssä (dentry-välimuisti, inode-välimuisti ja suojaus) on edelleen merkittävää lukituskiistaa. kerrokset) >600 000 tapahtumaa/s, mikä silti rajoittaa skaalautuvuutta.
…
Kaiken kaikkiaan tämä työntää tapahtumasitoumusten pullonkaulan ulos lukitsemattomien varausten myöntämispäiden päivityksiin. Nämä atomipäivitykset alkavat olla rajoittava tosiasia, ennen kuin ajetaan > 1,5 miljoonaa tapahtumaa/s, jolloin kirjanpitotoiminnot alkavat näkyä profiileissa korkeimpina CPU-käyttäjinä. Silti tämä sarja kaksinkertaistaa tapahtumien suorituskyvyn lisäämättä suorittimen käyttöä ennen kuin pääsemme välimuistin kilpailun hajoamispisteeseen…
Tämä skaalautuvuuden parannus on hyvä uutinen niille, jotka käyttävät suuria Threadripper/Core i9/Xeon/EPYC-alustat, joissa on XFS-tiedostojärjestelmä. xfs-5.20-merge kerää myös useita muita ominaisuuslisäyksiä ja parannuksia käyttöönotettaviksi tulevassa yhdistämisikkunassa.