mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-11-14 16:52:08 -10:00
When running iperf3 with Linux 6.18.51 on VisionFive 2, one CPU core
stays at 100% load during the test, while network throughput is limited
to approximately 793 Mbits/sec:
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.01 sec 945 MBytes 793 Mbits/sec receiver
The regression was introduced in Linux 6.14 by commit df542f669307
("net: stmmac: Switch to zero-copy in non-XDP RX path"). It leads to
misaligned access exceptions when parsing packet headers. During the
iperf3 test, perf stat reported approximately 9.6 million alignment
faults over 5 seconds:
$ perf stat -a -e alignment-faults -- sleep 5
Performance counter stats for 'system wide':
9620073 alignment-faults
5.029337000 seconds time elapsed
The kernel must emulate these unaligned accesses, resulting in
significant overhead.
The issue was fixed in Linux 6.18.52 [1]. Bump Linux to 6.18.55, the
latest stable release at the time of writing, to include the fix.
[1] https://lore.kernel.org/all/2026091704-CVE-2026-90059-36e6@gregkh
Fixes: 98aa14a186 ("configs/visionfive2: bump Linux to 6.18.51, U-Boot to 2026.07, and OpenSBI to 1.8.1")
Assisted-by: LLM
Signed-off-by: Fengwei Tan <tfx2001@outlook.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
StarFive VisionFive2
====================
The VisionFive2 is a low-cost RISC-V 64-bit based platform, powered by a
StarFive JH7110 processor.
https://doc-en.rvspace.org/Doc_Center/visionfive_2.html
How to build
============
$ make visionfive2_defconfig
$ make
Once the build process is finished you will have two images
in the output/images/ directory:
- sdcard.img
- spi-nor.img
How to write the SPI NOR flash
=============================
If you have a booting device use u-boot and tftp:
# tftpboot 0x82000000 spi-nor.img
# sf probe
# sf update 0x82000000 0x0 ${filesize}
Otherwise, follow the recovery instructions:
https://doc-en.rvspace.org/VisionFive2/Quick_Start_Guide/VisionFive2_SDK_QSG/recovering_bootloader%20-%20vf2.html
How to write the SD card
========================
Write "sdcard.img" onto an SD card with "dd":
$ sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M conv=fsync
Preparing the board
===================
Connect a TTL UART cable to pin 6 (GND), 8 (TX) and 10 (RX).
Select SPI NOR flash boot mode:
- RGPIO_0=0, RGPIO_1=0
https://doc-en.rvspace.org/VisionFive2/Quick_Start_Guide/VisionFive2_SDK_QSG/boot_mode_settings.html
Insert your SD card.
Power-up the board using an USB-C cable.
Note that starting with U-Boot v2025.10, booting U-Boot directly from an
SD card is no longer supported on this board. In this configuration, the
bootloader is loaded from SPI NOR flash, while the SD card contains the
Linux kernel, device trees and root filesystem.
https://docs.u-boot.org/en/v2026.07/board/starfive/visionfive2.html#zero-stage-program-loader