TinyComputers.io

Sponsors

More Articles

The Pine64 Star64: RISC-V's Baseline Problem

The Pine64 Star64 runs StarFive's JH7110 - four SiFive U74 cores and an ISA string of rv64imafdc, which is RV64GC baseline and nothing more. It compiles Rust in 461 seconds, tenth of eleven on my bench, beating the Orange Pi RV2 with half the cores, matching its own JH7110 twin the Milk-V Mars to within 0.02%, and losing to a quad Cortex-A53 from 2012. On SHA-512, where nobody has hardware, it is only 5.9x behind a Cortex-A76. On AES-128-GCM it is 100x behind. That difference is the whole story - plus a hardware crypto engine sitting stranded behind missing userspace plumbing.

Would You Pay for RISC-V? Doing the Arithmetic in Public

The worst benchmark number I ever published was an Orange Pi RV2 taking 650.60 seconds on a Rust compile that an RK3588 finishes in 52.55. I am now asking whether you would pay a monthly fee to rent RISC-V hardware from me. This is the arithmetic in public: what the SpacemiT K3 actually changed, why the one RISC-V box you can rent today implements a vector draft that was never ratified, what two nodes in a 1U at a Miami colo would really cost per month, and the strongest argument against the whole idea, which is a finding from my own build farm.

Two Addresses, One Page: Finding the Firmware Bug Behind NetBSD Corruption on the Milk-V Mars

NetBSD booted on my Milk-V Mars, joined the network, and then overwrote its own kernel with pkgsrc file data under sustained write load. The evidence first pointed at a double allocation inside UVM. That diagnosis was wrong. A custom PGAUDIT kernel, a Mars-shaped QEMU target, 256 permanent canary pages, and a controlled cache-flush experiment in DDB eventually showed two physical addresses exactly 4 GiB apart reaching the same DDR backing. The unsafe 8 GiB map came from a blank EEPROM and U-Boot SPL's private memory default. This is the sequel to my original bring-up article: the wrong theories, the two device trees hiding in one boot chain, the one-line firmware correction, and the 600-second hardware A/B that contained the corruption.

The Same Bad Luck, Quietly: Why a Fleet of Cheap Boards Feels Flakier Than One Old Xeon

My single-board computers hang, drop USB, and eat SD cards in ways my old Xeon server never does, and "you get what you pay for" is a shrug, not an explanation. So this is an attempt at the actual explanation: where the money goes in a server-class machine, why none of it shows up on a spec sheet, and why the same bit flip that increments a counter on the Xeon becomes an unwitnessed mystery hang on a NanoPi. Power delivery, SD card physics, tablet silicon versus mainframe silicon, Google's DRAM study, one Heidegger digression, and the parts of the missing margin you can buy back with a real power supply, a watchdog timer, and three idle boards' worth of Kubernetes.

FreeBSD on a 2011 MacBook Pro: Fifteen Years of Progress, and Per Core It's a Tie

I put a 2011 MacBook Pro running FreeBSD 15.1 through the same Rust compile benchmark as my single-board computer fleet. It lands sixth of nine at 131.00s - behind a Raspberry Pi 5, ahead of a Banana Pi CM5-Pro. But normalized per core and per gigahertz, a 2011 Sandy Bridge core and a 2023 Cortex-A76 do the same amount of work to within 0.3%. Also: why SHA-256 is 5.7x slower here, how the ZFS ARC nearly sold me a 2.86 GB/s hard drive, and two benchmark results I threw out.

Topics

Reading Series

Written by Alex Jokela Software engineer by trade, tinkerer by nature, single-board computer hoarder by choice. More about me →