Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sipeed Lichee Pi 3A #102

Closed
geerlingguy opened this issue Sep 5, 2024 · 3 comments
Closed

Sipeed Lichee Pi 3A #102

geerlingguy opened this issue Sep 5, 2024 · 3 comments

Comments

@geerlingguy
Copy link

geerlingguy commented Sep 5, 2024

Starting to examine hardware/software for review purposes...

Average load and/or CPU utilization too high (too much background activity). Waiting...

Too busy for benchmarking: 12:23:43 up 31 min,  4 users,  load average: 2.52, 2.38, 2.19,  cpu: 5%
Too busy for benchmarking: 12:23:48 up 31 min,  4 users,  load average: 2.47, 2.38, 2.19,  cpu: 1%
Too busy for benchmarking: 12:23:53 up 31 min,  4 users,  load average: 2.44, 2.37, 2.19,  cpu: 0%
Too busy for benchmarking: 12:23:58 up 32 min,  4 users,  load average: 2.40, 2.37, 2.19,  cpu: 0%
Too busy for benchmarking: 12:24:03 up 32 min,  4 users,  load average: 2.37, 2.36, 2.18,  cpu: 0%
Too busy for benchmarking: 12:24:08 up 32 min,  4 users,  load average: 2.34, 2.35, 2.18,  cpu: 0%

sbc-bench v0.9.67

Installing needed tools: apt-get -f -qq -y install lm-sensors curl git sysstat links mmc-utils smartmontools stress-ng p7zip, tinymembench, ramlat, mhz, cpufetch (can't build cpuminer) Done.
Checking cpufreq OPP. Done.
Executing tinymembench. Done.
Executing RAM latency tester. Done.
Executing OpenSSL benchmark. Done.
Executing 7-zip benchmark. Done.
Throttling test: heating up the device, 5 more minutes to wait. Done.
Checking cpufreq OPP again. Done (18 minutes elapsed).

Results validation:

  * Measured clockspeed not lower than advertised max CPU clockspeed
  * Background activity (%system) OK






# SiPEED LPi3A Board

Tested with sbc-bench v0.9.67 on Thu, 05 Sep 2024 12:56:53 -0500.

### General information:

    spacemit socs K1-6370 rev C, SpacemiT K1, Kernel: riscv64, Userland: riscv64
    
    CPU sysfs topology (clusters, cpufreq members, clockspeeds)
                     cpufreq   min    max
     CPU    cluster  policy   speed  speed   core type
      0        0        0      614    1600   rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause
      1        0        0      614    1600   rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause
      2        0        0      614    1600   rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause
      3        0        0      614    1600   rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause
      4        0        0      614    1600   rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause
      5        0        0      614    1600   rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause
      6        0        0      614    1600   rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause
      7        0        0      614    1600   rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause

7829 KB available RAM

### Governors/policies (performance vs. idle consumption):

Original governor settings:

    cpufreq-policy0: performance / 1600 MHz (conservative ondemand userspace powersave performance schedutil / 614 819 1000 1229 1600)

Tuned governor settings:

    cpufreq-policy0: performance / 1600 MHz

Status of performance related policies found below /sys:

    /sys/module/pcie_aspm/parameters/policy: default [performance] powersave powersupersave

### Clockspeeds (idle vs. heated up):

Before:

    cpu0 (rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause): OPP: 1600, Measured: 1596 

After:

    cpu0 (rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause): OPP: 1600, Measured: 1597 

### Performance baseline

  * memcpy: 2608.5 MB/s, memchr: 2039.9 MB/s, memset: 6970.2 MB/s
  * 16M latency: 279.1 288.5 278.3 288.4 276.8 286.7 296.6 570.8 
  * 128M latency: 313.7 324.9 312.6 324.4 312.5 323.9 350.8 559.3 
  * 7-zip MIPS (3 consecutive runs): 6716, 6868, 6839 (6810 avg), single-threaded: 985
  * `aes-256-cbc      22672.88k    26099.37k    26941.07k    27293.01k    27361.28k    27248.61k`
  * `aes-256-cbc      22872.93k    26013.94k    27029.33k    27286.53k    27264.94k    27328.51k`

### Storage devices:

  * 238.5GB "SKHynix_HFS256GDE9X081N" SSD as /dev/nvme0: Speed 5GT/s (downgraded), Width x2 (downgraded), 0% worn out, drive temp: 46°C, ASPM Disabled
  * 21.5GB "flyingrtx licheervnano" as /dev/sda: USB, Driver=usb-storage, 480Mbps
  * 29.7GB "SanDisk SD32G" UHS SDR104 SD card as /dev/mmcblk0: date 07/2023, manfid/oemid: 0x000003/0x5344, hw/fw rev: 0x8/0x5
  * 29.1GB "AT3SFB" HS400 Enhanced strobe eMMC 5.1 card as /dev/mmcblk2: date 03/2024, manfid/oemid: 0x0000ec/0x2900, hw/fw rev: 0x0/0x0903100000000000

### Software versions:

  * Bianbu 1.0.14 (mantic)
  * Compiler: /usr/bin/gcc (Ubuntu 13.2.0-4ubuntu3-bb2) 13.2.0 / riscv64-linux-gnu
  * OpenSSL 3.0.10, built on 1 Aug 2023 (Library: OpenSSL 3.0.10 1 Aug 2023)    

### Kernel info:

  * `/proc/cmdline: earlycon=sbi earlyprintk quiet splash plymouth.ignore-serial-consoles plymouth.prefer-fbcon console=ttyS0,115200 loglevel=8 clk_ignore_unused swiotlb=65536 rdinit=/init workqueue.default_affinity_scope=system root=/dev/mmcblk0p6 rootwait rootfstype=ext4`
  * Kernel 6.1.15 / CONFIG_HZ=250

Kernel 6.1.15 is not latest 6.1.108 LTS that was released on 2024-09-04.

See https://endoflife.date/linux for details. It is somewhat likely that
a lot of exploitable vulnerabilities exist for this kernel as well as many
unfixed bugs.

But this version string doesn't matter since this is not an official LTS Linux
from kernel.org. This device runs a SpacemiT vendor/BSP kernel.

All known settings adjusted for performance. Device now ready for benchmarking.
Once finished stop with [ctrl]-[c] to get info about throttling, frequency cap
and too high background activity all potentially invalidating benchmark scores.
All changes with storage and PCIe devices as well as suspicious dmesg contents
will be reported too.

Time        CPU    load %cpu %sys %usr %nice %io %irq   Temp
12:57:01: 1600MHz  8.51  21%   0%  20%   0%   0%   0%      °C  
12:58:01: 1600MHz  4.46   0%   0%   0%   0%   0%   0%      °C  
12:59:01: 1600MHz  2.96   0%   0%   0%   0%   0%   0%      °C  
13:00:01: 1600MHz  2.42   0%   0%   0%   0%   0%   0%      °C  
13:01:01: 1600MHz  2.21   0%   0%   0%   0%   0%   0%      °C  
13:02:01: 1600MHz  2.08   0%   0%   0%   0%   0%   0%      °C  
13:03:01: 1600MHz  2.03   0%   0%   0%   0%   0%   0%      °C  
13:04:01: 1600MHz  2.01   0%   0%   0%   0%   0%   0%      °C  
13:05:01: 1600MHz  2.00   0%   0%   0%   0%   0%   0%      °C  
13:06:01: 1600MHz  2.07   0%   0%   0%   0%   0%   0%      °C  
13:07:01: 1600MHz  2.02   0%   0%   0%   0%   0%   0%      °C  
13:08:01: 1600MHz  2.04   0%   0%   0%   0%   0%   0%      °C  
13:09:02: 1600MHz  2.01   0%   0%   0%   0%   0%   0%      °C  
13:10:02: 1600MHz  2.06   0%   0%   0%   0%   0%   0%      °C  

Time        CPU    load %cpu %sys %usr %nice %io %irq   Temp
13:11:02: 1600MHz  2.10   0%   0%   0%   0%   0%   0%      °C  
13:12:02: 1600MHz  2.03   0%   0%   0%   0%   0%   0%      °C  
13:13:02: 1600MHz  2.06   0%   0%   0%   0%   0%   0%      °C  
13:14:02: 1600MHz  2.02   0%   0%   0%   0%   0%   0%      °C  
13:15:02: 1600MHz  2.06   0%   0%   0%   0%   0%   0%      °C  
13:16:02: 1600MHz  2.11   0%   0%   0%   0%   0%   0%      °C  
13:17:02: 1600MHz  2.04   0%   0%   0%   0%   0%   0%      °C  
13:18:02: 1600MHz  2.01   0%   0%   0%   0%   0%   0%      °C  
13:19:02: 1600MHz  2.00   0%   0%   0%   0%   0%   0%      °C  
13:20:02: 1600MHz  2.14   0%   0%   0%   0%   0%   0%      °C  
13:21:02: 1600MHz  2.05   0%   0%   0%   0%   0%   0%      °C  
13:22:02: 1600MHz  2.08   0%   0%   0%   0%   0%   0%      °C  
13:23:02: 1600MHz  2.03   0%   0%   0%   0%   0%   0%      °C  
13:24:03: 1600MHz  2.01   0%   0%   0%   0%   0%   0%      °C  
13:25:03: 1600MHz  2.00   0%   0%   0%   0%   0%   0%      °C  

Time        CPU    load %cpu %sys %usr %nice %io %irq   Temp
13:26:03: 1600MHz  2.06   0%   0%   0%   0%   0%   0%      °C  
13:27:03: 1600MHz  2.02   0%   0%   0%   0%   0%   0%      °C  
^C

Cleaning up. Done.
Checking cpufreq OPP again. Done.

Clockspeeds now:

    cpu0 (rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause): OPP: 1600, Measured: 1597 

Results validation:

  * Measured clockspeed not lower than advertised max CPU clockspeed
  * Background activity (%system) OK

It doesn't seem like the result was uploaded though...? It was run on Bianbu Linux.

More here: geerlingguy/sbc-reviews#50

@ThomasKaiser
Copy link
Owner

Interestingly according to /sys/devices/soc0/ this board features a 'K1-6370 rev C' vs. 'M1-8571 rev C' on your Milk-V Jupiter. Not sure though from which source /sys/devices/soc0/ gets populated. If it's DT then it's just settings and not hardware.

Ah, it's indeed hardware revisions since the SoC's serial number gets parsed.

It doesn't seem like the result was uploaded though...?

Happens from time to time. Uploading results will eve be tried twice but when the hoster in question (after https://ix.io and https://sprunge.us becoming disfunctional the script currently tries https://0x0.st) is unavailable for a moment uploading full results will fail.

In case time permits you could rerun sbc-bench or simply try to upload contents of /var/log/sbc-bench.log:

sed '/^$/N;/^\n$/D' </var/log/sbc-bench.log  | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" | curl -s -F 'file=@-' 0x0.st

@geerlingguy
Copy link
Author

Results now here: https://0x0.st/XxZl.bin

This thing's performance is... interesting. Definitely a step down from the 'M1' version with a higher clock, but not that much.

@ThomasKaiser
Copy link
Owner

ThomasKaiser commented Sep 10, 2024

Thank you for the retry. Memory performance is lower than on any of the other K1 thingies (the negative 'pace' had the MuseBook until now)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants