Att det går segt kanske inte är så konstigt när det dels handlar om ett projekt som bara verkar vara ett par månader gammalt.
Men framförallt finns ju inga high-end RISC-V CPUer ännu. Denna SpaceMIT X60 verkar vara lite piggare än den Ky X1 som sitter i bl.a. Orange Pi RV2. Har den senare och konstaterat att den presterar på RPi3 nivå (Cortex A53). SpaceMIT X60 verkar jämföras som ett par tiotal procent snabbare än Cortex A55, så ~50 % än Orange Pi RV2 per kärna. Fortfarande långsammare än RPi4...
Vad jag förstår är Ky X1 en rebrandad Spacemit K1/X60 (den verkar i alla fall kunna använda samma stöd av det som hittills upstreamats i linux: https://lore.kernel.org/spacemit/20250718085718-GYA695709@gen... och borde därför inte vara sämre men jag kanske missar något.
...
Problemet just nu är att RISC-V är rätt omogen även på Linux. Alla grundläggande saker fungerar, tillräckligt bra för att man ska kunna bygga enklare lösningar redan idag (har inga problem att ersätta vissa av mina RPi-projekt med Orange Pi RV2 körandes Ubuntu Server 24.04). Men det är inte lika smooth sailing som att köra på ARM64 eller x86_64 än ens i headless fall...
...
En lite mindre rolig detalj med just Spacemit K1 är att medan den stödjer unaligned minnesåtkomst för grund-ISAn så gäller det inte för vektortillägget (och har ingen fallback i firmware)... GCC 14:s autovektorisering är inte särskilt bra på att hantera det och genererar i flera fall unaligned minnesåtkomst i sin vektoriserade kod. GCC 15 verkar dock ha löst det i princip helt och klarar att falla tillbaka på skalär kod även i ett test där jag avsiktligt använder minnet unaligned. LLVM (testat 18 upp till och med 20) verkar också ha problem, kanske något mindre än GCC 14 men en del kompilerade program verkar fortfarande dödas av SIGBUS. Kan också se att den gerererar unaligned minnesåtkomst i den vektoriserade koden i testet, dock är testet troligtvis egentligen UB så skulle inte dra någon större slutsats av att just det blir fel.
Jag köpte en BPI-F3 (som använder Spacemit K1) i juli förra året och den första vendor-kärnan baserad på 6.1 var horribel att arbeta med (den hängde sig alltid under belastning efter ett tag om CONFIG_COMPACTION var påslaget exempelvis...). Den baserad på 6.6 är mycket bättre men fortfarande inte helt hundra. Den på 6.1 (och även den på 6.6 till en början) hade de squashat allt till ett par mega-commits där även tidiga patchar på annat från innan de blev accepterade i mainline ingick vilket försvårat felsökning avsevärt, men det är väl tyvärr inte ovanligt att vendor-kärnor ser ut på det sättet. Det finns också en baserad på ca 6.13-rc1 men den har ett par uppenbara artefakter av att vara rebasad som man behöver fixa själv om den ska gå att bygga med rimlig config. Nu börjar iaf stödet i mainline linux bli användbart (om man inkluderar ett par till patchar som inte är helt igenom review) så slipper bråka mer med gamla vendor-kärnor vilket jag är glad över.