Skip to content

Commit

Permalink
Adding Khadas VIM1S and Edge2 numbers
Browse files Browse the repository at this point in the history
Also some more SoC guessing und upload fallback to sprunge.us since ix.io did not resolve for an hour
  • Loading branch information
ThomasKaiser committed Sep 20, 2022
1 parent 41c1603 commit c0df407
Show file tree
Hide file tree
Showing 9 changed files with 1,505 additions and 33 deletions.
2 changes: 2 additions & 0 deletions Results.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,9 @@ So do **not** rely on collected numbers unless you carefully read through all th
| [Kendryte K510](http://ix.io/41Qa) | 790 MHz | 4.17 | Sid riscv64 | 690 | 6750 | 7410 | 280 | 440 | - |
| [Khadas Edge/Captain](http://ix.io/1rYm) | 2000/1500 MHz | 4.4 | Bionic arm64 | 6550 | 402150 | 1130400 | 2810 | 4860 | 10.50 |
| [Khadas Edge/Captain](http://ix.io/1uar) | 2000/1500 MHz | 4.4 | Stretch arm64 | 6600 | 269485 | 1127780 | 2860 | 4880 | 8.85 |
| [Khadas Edge2](http://ix.io/4a5U) | 2260/1800 MHz | 5.10 | Jammy arm64 | 16470 | 641550 | 1287490 | 10860 | 29110 | - |
| [Khadas VIM1](http://ix.io/3QLN) | 1415 MHz | 5.1 | Buster arm64 | 3860 | 90160 | 659460 | 1930 | 5900 | - |
| [Khadas VIM1S](http://ix.io/4a2b) | 2000 MHz | 5.4 | Jammy arm64 | 3840 | 103430 | 436670 | 1320 | 4240 | - |
| [Khadas VIM2](http://ix.io/1ixi) | 1415/1000 MHz | 4.9 | **Xenial** arm64 | 4800 | 177600 | 659000 | 1690 | 5610 | - |
| [Khadas VIM2](http://ix.io/1iJ7) | 1415/1000 MHz | 4.17 | Bionic arm64 | 5450 | 126770 | 659600 | 1920 | 5920 | 8.59 |
| [Khadas VIM3](http://ix.io/1MFD) | 2200/1800 MHz | 4.9 | Bionic arm64 | 8600 | 398370 | 1256910 | 4980 | 9300 | 13.12 |
Expand Down
509 changes: 509 additions & 0 deletions results/4a2b.txt

Large diffs are not rendered by default.

944 changes: 944 additions & 0 deletions results/4a5U.txt

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions results/ARMv8-Crypto-Extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ Crawling through [sbc-bench results collection](../Results.md) comparing +30 dif
| :----: | ----: | :----: | :----: |
| Cortex-A35 | | | |
| [RK3308](http://ix.io/1XKY) | 1300 | 282290 | 217 |
| [S905Y4](http://ix.io/4a2b) | 2000 | 436670 | 218 |
| Apple Firestorm | | | |
| [M1 Pro](http://ix.io/443N) | 3030 | 1064110 | 351 |
| Cortex-A57 | | | |
Expand Down
3 changes: 3 additions & 0 deletions results/Amlogic-S905Y4-5.4.125.cpuinfo
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,6 @@ CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd04
CPU revision : 0

Serial : 370b030400000000122d90041dc3d900
Hardware : Khadas VIM1S
8 changes: 4 additions & 4 deletions results/archive-and-check-results.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#!/bin/bash
#
# Archive sbc-bench results (just in case ix.io disappears).
# To be executed from results dir. It also does some quick
# validation of collected results afterwards.
# Archive sbc-bench results (just in case ix.io or sprunge.us disappear).
# To be executed from results dir. It also does some quick validation of
# collected results afterwards.

grep "http://ix.io" ../Results.md | awk -F"http://" '{print $2}' | cut -f1 -d')' | while read ; do
grep -E "http://ix.io|http://sprunge.us" ../Results.md | awk -F"http://" '{print $2}' | cut -f1 -d')' | while read ; do
ResultFile="${REPLY##*/}.txt"
if [ -f "${ResultFile}" ]; then
grep -q "^tinymembench" "${ResultFile}" || (wget -q -O "${ResultFile}" "http://${REPLY}" ; sleep 5)
Expand Down
Binary file modified results/results.tar.xz
Binary file not shown.
2 changes: 2 additions & 0 deletions results/validation.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,5 +205,7 @@
| [466y](466y.txt) | v0.9.8 Mediatek MT6580 K9M1-test board | 0%/0% | 878Mi/683Mi | X | X | X | X | 1% | <span style=color:red>**14%**</span> | |
| [46hs](46hs.txt) | v0.9.8 PXA1908 | 0.8%/1.0% | 661Mi/601Mi | X | X | X | X | <span style=color:red>**12%**</span> | 0% | |
| [49kx](49kx.txt) | v0.9.8 Qualcomm Technologies, Inc. qrb5 | 0.9%/4.2% | 7.5G/7.0G | X | X | X | X | 1% | 0% | |
| [4a2b](4a2b.txt) | v0.9.8 Khadas VIM1S | 0%/0% | 1.9Gi/1.4Gi | X | X | X | X | 2% | 1% | |
| [4a3s](4a3s.txt) | v0.9.8 StarFive VisionFive V2 | 0.4%/0.1% | 3.8Gi/3.5Gi | X | X | X | X | 1% | 2% | |
| [4a5U](4a5U.txt) | v0.9.8 Khadas Edge2 | 0%/0% | 15Gi/14Gi | X | X | X | X | 1% | 0% | |
| [4ax9](4ax9.txt) | v0.9.8 NVIDIA Orin Jetson-Small Develop | 0%/0% | 29Gi/29Gi | X | X | X | X | 0% | 0% | |
69 changes: 40 additions & 29 deletions sbc-bench.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1857,11 +1857,19 @@ InitialMonitoring() {
echo -e "${CPUTopology}\n" >"${TempDir}/cpu-topology.log" &
CPUSignature="$(GetCPUSignature)"

# upload raw /proc/cpuinfo contents and device-tree compatible entry
DTCompatible="$(strings /proc/device-tree/compatible 2>/dev/null)"
(echo -e "/proc/cpuinfo\n\n$(uname -a) / ${DeviceName}\n" ; cat /proc/cpuinfo ; echo -e "\n${CPUTopology}\n\n${CPUSignature}\n\n${DTCompatible}") 2>/dev/null \
| curl -s -F 'f:1=<-' ix.io >/dev/null 2>&1 &

# upload raw /proc/cpuinfo contents and device-tree compatible entry to ix.io
ping -c1 ix.io >/dev/null 2>&1
if [ $? -eq 0 ]; then
UploadScheme="f:1=<-"
UploadServer="ix.io"
DTCompatible="$(strings /proc/device-tree/compatible 2>/dev/null)"
(echo -e "/proc/cpuinfo\n\n$(uname -a) / ${DeviceName}\n" ; cat /proc/cpuinfo ; echo -e "\n${CPUTopology}\n\n${CPUSignature}\n\n${DTCompatible}") 2>/dev/null \
| curl -s -F ${UploadScheme} ${UploadServer} >/dev/null 2>&1 &
else
# upload location fallback to sprunge.us if possible
ping -c1 sprunge.us >/dev/null 2>&1 && UploadScheme="sprunge=<-" ; UploadServer="sprunge.us"
fi

# Log version and device info
read HostName </etc/hostname 2>/dev/null
if [ "X${MODE}" = "Xunattended" -o "X${MODE}" = "Xextensive" -o "X${MODE}" = "Xpts" -o "X${MODE}" = "Xgb" ]; then
Expand Down Expand Up @@ -2691,8 +2699,8 @@ LogEnvironment() {

UploadResults() {
# upload results to ix.io and replace multiple empty lines with one. 2nd try if 1st does not succeed
UploadURL=$(sed '/^$/N;/^\n$/D' <${ResultLog} | curl -s -F 'f:1=<-' ix.io 2>/dev/null || \
sed '/^$/N;/^\n$/D' <${ResultLog} | curl -s -F 'f:1=<-' ix.io)
UploadURL=$(sed '/^$/N;/^\n$/D' <${ResultLog} | curl -s -F ${UploadScheme} ${UploadServer} 2>/dev/null || \
sed '/^$/N;/^\n$/D' <${ResultLog} | curl -s -F ${UploadScheme} ${UploadServer})

# Display benchmark results if not in PTS or GB mode
if [ "X${MODE}" != "Xpts" -a "X${MODE}" != "Xgb" ]; then
Expand Down Expand Up @@ -2722,7 +2730,7 @@ UploadResults() {
http*)
# uploading results worked, check sanity of results and environment
echo " ${UploadURL} |" >>${ResultLog}
echo -e "\nFull results uploaded to ${UploadURL}. \c"
echo -e "\nFull results uploaded to ${UploadURL}\c"
# check whether benchmark ran into a sane environment (no throttling and no swapping)
if [ ${IOWaitAvg:-0} -le 2 -a ${IOWaitMax:-0} -le 5 -a ${SysMax:-0} -le 5 -a ! -f ${TempDir}/throttling_info.txt ]; then
# in case it's not x86/x64 then also suggest adding results to official list
Expand All @@ -2742,14 +2750,14 @@ UploadResults() {
;;
esac
else
echo -e "Please check the log for anomalies (e.g. swapping\nor throttling happenend).\n"
echo -e ". Please check the log for anomalies (e.g. swapping\nor throttling happenend).\n"
fi
;;
*)
if [ "X${MODE}" != "Xunattended" ]; then
echo -e " |\n\n" >>${ResultLog}
echo -e "\nUnable to upload full test results. Please copy&paste the below stuff to pastebin.com and\nprovide the URL. Check the output for throttling and swapping please.\n\n"
sed '/^$/N;/^\n$/D' <${ResultLog}
echo -e "\n\n"
fi
;;
esac
Expand Down Expand Up @@ -2947,7 +2955,7 @@ GuessARMSoC() {
# Cortex-A15 / r3p3: Nvidia Tegra K1
# Cortex-A17 / r0p1: Rockchip RK3288
# Cortex-A35 / r0p2: NXP i.MX8QXP, Rockchip RK1808/RK3308/RK3326/PX30
# Cortex-A35 / r1p0: Amlogic S805X2/S905Y4
# Cortex-A35 / r1p0: Amlogic S805X2/S905Y4/S905W2
# Cortex-A53 / r0p0: Qualcomm Snapdragon 410 (MSM8916)
# Cortex-A53 / r0p2: Marvell PXA1908, Qualcomm Snapdragon 810 (MSM8994)
# Cortex-A53 / r0p3: HiSilicon Kirin 620/930, Nexell S5P6818, Snapdragon 808 / MSM8992
Expand Down Expand Up @@ -3046,9 +3054,9 @@ GuessARMSoC() {
# soc soc0: Amlogic Meson G12B (S922X) Revision 29:c (40:2) Detected <-- ODROID-N2+ ('S922X-B')
# soc soc0: Amlogic Meson Unknown (Unknown) Revision 2a:e (c5:2) Detected <-- Amlogic Meson GXL (S905L2) X7 5G Tv Box / Amlogic Meson GXL (S905X) P212 Development Board
# soc soc0: Amlogic Meson SM1 (S905D3) Revision 2b:b (1:2) Detected <-- AMedia X96 Max+ / SEI Robotics SEI610
# soc soc0: Amlogic Meson SM1 (Unknown) Revision 2b:b (1:2) Detected <-- Shenzhen Amediatech Technology Co. Ltd X96 Air / AMedia X96 Max+ / SEI Robotics SEI610
# soc soc0: Amlogic Meson SM1 (Unknown) Revision 2b:b (1:2) Detected <-- Shenzhen Amediatech Technology Co. Ltd X96 Air / AMedia X96 Max+ / SEI Robotics SEI610 / HK1 Box/Vontar X3
# soc soc0: Amlogic Meson SM1 (S905D3) Revision 2b:c (4:2) Detected <-- Khadas VIM3L / https://www.spinics.net/lists/arm-kernel/msg848718.html
# soc soc0: Amlogic Meson SM1 (S905X3) Revision 2b:c (10:2) Detected <-- AMedia X96 Max+ / H96 Max X3 / ODROID-C4 / ODROID-HC4 / HK1 Box / Vontar X3 / SEI Robotics SEI610 / Shenzhen Amediatech Technology Co. Ltd X96 Max/Air / Shenzhen CYX Industrial Co. Ltd A95XF3-AIR / Sinovoip BANANAPI-M5 / Tanix TX3 (QZ)
# soc soc0: Amlogic Meson SM1 (S905X3) Revision 2b:c (10:2) Detected <-- AMedia X96 Max+ / H96 Max X3 / ODROID-C4 / ODROID-HC4 / HK1 Box/Vontar X3 / SEI Robotics SEI610 / Shenzhen Amediatech Technology Co. Ltd X96 Max/Air / Shenzhen CYX Industrial Co. Ltd A95XF3-AIR / Sinovoip BANANAPI-M5 / Tanix TX3 (QZ) / Ugoos X3
# soc soc0: Amlogic Meson SM1 (Unknown) Revision 2b:c (10:2) Detected <-- Khadas VIM3L / HK1 Box/Vontar X3
# soc soc0: Amlogic Meson SM1 (Unknown) Revision 2b:b (40:2) Detected <-- Khadas VIM3L
#
Expand Down Expand Up @@ -3082,12 +3090,13 @@ GuessARMSoC() {
# - U200 Development Board (G12A):
# - Unknown: 28:b (70:2), 28:c (70:2)
#
# If /proc/cpuinfo Hardware field is 'Amlogic' then chars 1-6 of 'AmLogic Serial'
# If /proc/cpuinfo Hardware field is 'Amlogic' then chars 1-8 of 'AmLogic Serial'
# and if not present 'Serial' have special meaning as it's the 'chip id':
# S905X: '21:a (82:2)' / 210a820094e04a851342e1d007989aa7
# S912: '22:a (82:2)' / 220a82006da41365fedf301742726826
# S922X: '29:c (40:2)' / 290c4000012b1500000639314e315350
# A311D2: '36:b (1:3)' / 360b010300000000081d810911605690
# S905Y4: '37:B - 3:4' / 370b030400000000122d90041dc3d900
#
# Chars 1-2: meson family: 21=GXL, 22=GXM, 2b=SM1, 29=G12B, 36=T7 and so on, see below
# Chars 3-4: production batch: the earlier production run the lower (0a, 0b, 0c and so on)
Expand Down Expand Up @@ -3274,7 +3283,7 @@ GuessARMSoC() {
;;
20*)
# GXTVBB
echo "unknown Amlogic GXTVBB SoC, serial $(cut -c-6 <<<"${AmLogicSerial}")..."
echo "unknown Amlogic GXTVBB SoC, serial $(cut -c-8 <<<"${AmLogicSerial}")..."
;;
21??3*)
# GXL: S805X: 21:d (34:2)
Expand Down Expand Up @@ -3316,7 +3325,7 @@ GuessARMSoC() {
;;
23*)
# TXL
echo "unknown Amlogic TXL SoC, serial $(cut -c-6 <<<"${AmLogicSerial}")..."
echo "unknown Amlogic TXL SoC, serial $(cut -c-8 <<<"${AmLogicSerial}")..."
;;
24*)
# TXLX: T962X, T962E
Expand All @@ -3330,11 +3339,11 @@ GuessARMSoC() {
26*)
# GXLX, seems to be compatible to GXL since one occurence of ID '26:e (c1:2)'
# has been detected on 'Amlogic Meson GXL (S905X) P212 Development Board'
echo "unknown Amlogic GXLX SoC, serial $(cut -c-6 <<<"${AmLogicSerial}")..."
echo "unknown Amlogic GXLX SoC, serial $(cut -c-8 <<<"${AmLogicSerial}")..."
;;
27*)
# TXHD
echo "unknown Amlogic TXHD SoC, serial $(cut -c-6 <<<"${AmLogicSerial}")..."
echo "unknown Amlogic TXHD SoC, serial $(cut -c-8 <<<"${AmLogicSerial}")..."
;;
28??4*)
# G12A: S905X2: 28:b (40:2)
Expand Down Expand Up @@ -3378,7 +3387,7 @@ GuessARMSoC() {
echo "Amlogic S905X3/S905D3/S905Y3"
;;
2c*)
# A1: A113L (dual A35: https://www.amlogic.com/#Products/408/index.html)
# A1: A113L (dual A35: https://www.amlogic.com/#Products/408/index.html / meson-a1.dtsi)
echo "Amlogic A113L"
;;
2e*)
Expand All @@ -3387,7 +3396,7 @@ GuessARMSoC() {
;;
2f*)
# TM2: T962X3, T962E2
echo "Amlogic T962X3/T962E2, serial $(cut -c-6 <<<"${AmLogicSerial}")..."
echo "Amlogic T962X3/T962E2, serial $(cut -c-8 <<<"${AmLogicSerial}")..."
;;
32*)
# SC2: S905X4, S905C2
Expand All @@ -3398,14 +3407,16 @@ GuessARMSoC() {
echo "Amlogic A311D2"
;;
37*)
# S4: S905Y4, S805X2
echo "Amlogic S905Y4/S805X2"
# S4: S905Y4, S805X2, S905W2
echo "Amlogic S905Y4/S805X2/S905W2"
;;
*)
# https://tinyurl.com/y85lsxsc:
# T3 --> T982, T963D4, T965D4
# S4D --> S905C3, S905C3ENG (quad Cortex-A35): https://archive.md/4H6xM
echo "unknown Amlogic, serial $(cut -c-6 <<<"${AmLogicSerial}")..."
# quad-core A55 according to Amlogic 5.4 BSP kernel: tinyurl.com/r598z7aa
# T5D --> T950D4, T950X4
echo "unknown Amlogic, serial $(cut -c-8 <<<"${AmLogicSerial}")..."
;;
esac
;;
Expand Down Expand Up @@ -3707,6 +3718,9 @@ GuessSoCbySignature() {
*h313*)
echo "Allwinner H313"
;;
*h64*)
echo "Allwinner H64"
;;
*h6*)
echo "Allwinner H6"
;;
Expand All @@ -3716,9 +3730,6 @@ GuessSoCbySignature() {
*a64*)
echo "Allwinner A64"
;;
*h64*)
echo "Allwinner H64"
;;
*t507*)
echo "Allwinner T507"
;;
Expand Down Expand Up @@ -3905,8 +3916,8 @@ GuessSoCbySignature() {
esac
;;
00A35r1p000A35r1p000A35r1p000A35r1p0)
# S905Y4/S805X2, 4 x Cortex-A35 / r1p0 / fp asimd evtstrm aes pmull sha1 sha2 crc32
echo "Amlogic S905Y4/S805X2"
# S805X2/S905Y4/S905W2, 4 x Cortex-A35 / r1p0 / fp asimd evtstrm aes pmull sha1 sha2 crc32
echo "Amlogic S805X2/S905Y4/S905W2"
;;
00A55r1p000A55r1p000A55r1p000A55r1p0)
# Amlogic S905X3, 4 x Cortex-A55 / r1p0 / fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp (with 5.4+ also 'asimddp asimdrdm cpuid dcpop lrcpc')
Expand Down Expand Up @@ -4368,10 +4379,10 @@ IdentifyAllwinnerARMv8() {
grep -q h616 <<<"${DTCompatible}" && echo "Allwinner H616/H313"
grep -q t507 <<<"${DTCompatible}" && echo "Allwinner T507"
grep -q h313 <<<"${DTCompatible}" && echo "Allwinner H313"
grep -q h64 <<<"${DTCompatible}" && echo "Allwinner H64"
grep -q h6 <<<"${DTCompatible}" && echo "Allwinner H6"
grep -q h5 <<<"${DTCompatible}" && echo "Allwinner H5"
grep -q a64 <<<"${DTCompatible}" && echo "Allwinner A64"
grep -q h64 <<<"${DTCompatible}" && echo "Allwinner H64"

# Check for USB3 first, mainline kernel:
grep -q "xhci" /proc/interrupts && echo "Allwinner H6"
Expand Down

0 comments on commit c0df407

Please sign in to comment.