Co to v praxi znamená? Teď už se to na základě autodetekce přizpůsobí systému, na kterém to běží? Před pár měsíci jsem zkoušel na Pi 5 rozchodit Winbox a chtělo to po mě měnit tuším že zrovna tohle. Jelikož jsem nevěděl, jaké to bude mít dopady na celý systém a věřil jsem spíš Raspberry, že věděli, proč má ten jejich OS takovouhle výchozí hodnotu, tak jsem se na to vykašlal.
Je tam 7% penalizácia s 4k stránkou oproti 16k stránke pri kompilácii kernelu. Ja som pri reálnom použití mojích vecí nameral tak 2%. Žiadny veľký problém.
Celé komplikovaná zmena je o tom, že sa v konfiguráku nastaví kernel so 4k stránkou. Čo je reverzibilné. Však viem, čo budem púšťať a patričný kernel tam nastavím.
Tak pagesize lze zvolit při kompilaci jádra. Nové ARM umí 4k, 16k a 64k. RPi Foundation zvolilo pro RPi5 jako výchozí 16k, protože to má lepší výkon (o pár procent). Představit si to můžete tak, že máte gigabyty paměti, ale zbytečně je drobíte na 4k stránky. Kdežto 16k stránek bude čtyřikrát méně. Takže bude menší fragmentace a menší tlak na TLB, kde se drží právě adresy stránek.
Nevýhoda je, že některý software může být napsán jen pro 4k stránky, protože ty dominují. Takže si toho nikdo nevšimne. Takový program většinou padá, nebo se chová divně.
Pokud něco nejede na 16k stránkách, tak by se to mělo nahlásit. Za další je možné RPi5 v pohodě provozovat s 4k stránkami (jádro pro RPi4) a oželet těch pár procent výkonu navíc.
Hlásit:
https://github.com/raspberrypi/bookworm-feedback/issues/107
Přepnout:
do /boot/firmware/config.txt napsat řádek
kernel=kernel8.img