
Code: Select all
PYTHON_TARGETS="python2_7 python3_6"
PYTHON_SINGLE_TARGET="python3_4"However, I have temporarily overridden PYTHON_TARGETS in the custom profile used by the image (you can see the edit in the file /usr/local/portage/rpi3/profiles/targets/rpi3/make.defaults on your system; this custom profile inherits inter alia from the base profile). This means that currently, you will have:On 2018-06-22, Python 3.6 will replace Python 3.5 in the default Python
targets for Gentoo systems. The new default targets will be:
PYTHON_TARGETS="python2_7 python3_6"
PYTHON_SINGLE_TARGET="python3_6"
Code: Select all
PYTHON_TARGETS="python2_7 python3_5 python3_6"
PYTHON_SINGLE_TARGET="python3_6"Code: Select all
=== Sync completed for gentoo
q: Updating ebuild cache for /usr/portage ...
q: Finished 35575 entries in 0.850039 seconds
Checking master signature on gentoo repo...
porthash: Using public key 09F2FF455D90CAF4
porthash: Entering /usr/portage...
porthash: Verifying existing hashfile...
porthash: Hashfile signature and format valid
porthash: Computing master hash of /usr/portage, may take some time...
porthash: error: Hashfile and computed hashes DIFFER
Killing parent process...
I had the same problem on multiple Gentoo systems, not just this one.Sakaki wrote:orion777,
it's my own repository check (porthash, which I rolled out before gemato was fully deployed) causing that error message. Could you please post the output of "porthash --version" and the contents of /usr/portage/repo.hash on your system (if you have a modern copy of porthash, it may have renamed this automatically to /usr/portage/local/repo.hash, to avoid clashing with gemato's checksums, so you may need to look there instead)? Thanks.
Were your other systems also arm64 using the rpi3-overlay, and/or based on gentoo-on-rpi3-64bit?ericbish wrote: I had the same problem on multiple Gentoo systems, not just this one.
https://forums.gentoo.org/viewtopic-t-1 ... 7a608e2ccc
Nope, they were gentoo x86_64 systems, there is a thread with the same thing in the portage forum. There is a bug about it, can't remember the bug ID. I never could figure out exactly what caused it, but clearing /usr/portage and rerunning genup on your arm64 image (or emerge --sync on the x86_64 systems) cleared it up. Cutting the timestamp did not help.Sakaki wrote:Were your other systems also arm64 using the rpi3-overlay, and/or based on gentoo-on-rpi3-64bit?ericbish wrote: I had the same problem on multiple Gentoo systems, not just this one.
https://forums.gentoo.org/viewtopic-t-1 ... 7a608e2ccc
By default, the porthash repo check is only used (as far as I know) by my gated versions of the Portage tree used with the RPi3 and the Excito B2 and B3 miniservers. If you are seeing it, try deleting /usr/portage/metadata/timestamp.x and then syncing again. You can cat the /usr/portage/repo.hash on your system to see its timestamp also (this may be in /usr/portage/local/repo.hash if you are running a modern version of porthash).
That's odd. There only way that porthash gets called, afaik, is via this repo.postsync.d hook, which on the rpi3 is set up by the app-portage/rpi3-check-portage package from my rpi3-overlay. Did you copy your /usr/portage and /etc/portage directories over to an x86_64 machine by any chance, perhaps to use as a 'starter' configuration?ericbish wrote: Nope, they were gentoo x86_64 systems, there is a thread with the same thing in the portage forum. There is a bug about it, can't remember the bug ID. I never could figure out exactly what caused it, but clearing /usr/portage and rerunning genup on your arm64 image (or emerge --sync on the x86_64 systems) cleared it up. Cutting the timestamp did not help.
Sakaki wrote:That's odd. There only way that porthash gets called, afaik, is via this repo.postsync.d hook, which on the rpi3 is set up by the app-portage/rpi3-check-portage package from my rpi3-overlay. Did you copy your /usr/portage and /etc/portage directories over to an x86_64 machine by any chance, perhaps to use as a 'starter' configuration?ericbish wrote: Nope, they were gentoo x86_64 systems, there is a thread with the same thing in the portage forum. There is a bug about it, can't remember the bug ID. I never could figure out exactly what caused it, but clearing /usr/portage and rerunning genup on your arm64 image (or emerge --sync on the x86_64 systems) cleared it up. Cutting the timestamp did not help.
Sakaki wrote:ericbish,
Searching Gentoo bugzilla for porthash doesn't seem to bring up anything - did you by any chance contribute to the original bug report you mentioned? If so would you mind looking up the bug ID so I can investigate this further. Many thanks!
Sakaki wrote:orion777,
it's my own repository check (porthash, which I rolled out before gemato was fully deployed) causing that error message. Could you please post the output of "porthash --version" and the contents of /usr/portage/repo.hash on your system (if you have a modern copy of porthash, it may have renamed this automatically to /usr/portage/local/repo.hash, to avoid clashing with gemato's checksums, so you may need to look there instead)? Thanks.
Code: Select all
pi64 /usr/sbin # porthash --version
1.0.6
pi64 /usr/sbin # cat /usr/portage/repo.hash
Hash format: 1
Date: 2018-08-25 17:47
Hash: sha512sum
Metadata covered: no
5cab65371634c7824a5d4ea3685d5d5518b211d70f371ca412d7a7a99261d568d6aa535d09b9a63bc5942ed0022c3a799c61f0b979009c7d75cf4c88c2e165bb -
pi64 /usr/sbin # cat /usr/portage/local/repo.hash
Hash format: 1
Date: 2018-07-20 12:22
Hash: sha512sum
Metadata covered: no
409c1e0dd2b29b5f7af0929fa64a2970790edb5eb27a52dba5126098f7537d85ccc4a2422147909fe6dc391d9af38ef90bea2570d905ea131b84d5bf7698ff8a -
Code: Select all
=== Sync completed for gentoo
q: Updating ebuild cache for /usr/portage ...
q: Finished xxx entries in yyy seconds
Checking master signature on gentoo repo...
porthash: Using public key 09F2FF455D90CAF4
porthash: Entering /usr/portage...
porthash: Verifying existing hashfile...
porthash: Hashfile signature and format valid
porthash: Computing master hash of /usr/portage, may take some time...
porthash: error: Hashfile and computed hashes DIFFER
Killing parent process... Code: Select all
pi64 ~ # emaint sync --repo sakaki-tools
pi64 ~ # emerge --update --oneshot --verbose app-portage/porthash
Code: Select all
Temperature and CPU MHz Measurement Start at Tue Jul 31 21:14:36 2018
Seconds
0.0 1400 scaling MHz, 1400 ARM MHz, core volt=1.3438V, temp=58.0°C
16.0 1400 scaling MHz, 1400 ARM MHz, core volt=1.3500V, temp=65.0°C
32.5 1400 scaling MHz, 1400 ARM MHz, core volt=1.3563V, temp=69.3°C
49.1 1400 scaling MHz, 1200 ARM MHz, core volt=1.3563V, temp=70.4°C
65.6 1400 scaling MHz, 1199 ARM MHz, core volt=1.2375V, temp=70.9°C
82.1 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=71.4°C
98.7 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=72.0°C
115.2 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=73.1°C
131.7 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=74.1°C
148.3 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=74.1°C
164.9 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=74.7°C
181.5 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=75.2°C
197.9 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=75.2°C
214.4 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=75.2°C
230.9 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=76.3°C
247.5 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=77.4°C
264.0 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=77.4°C
280.5 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=77.4°C
297.1 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=77.4°C
313.6 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=77.4°C
330.1 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=77.4°C
346.7 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=78.4°C
363.2 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=78.4°C
379.8 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=78.4°C
396.4 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=79.5°C
413.0 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=79.5°C
429.6 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=79.5°C
446.1 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=79.5°C
462.6 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=79.5°C
479.2 1400 scaling MHz, 1195 ARM MHz, core volt=1.2375V, temp=80.1°C
495.9 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=79.5°C
512.3 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=79.5°C
528.8 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=79.5°C
545.3 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=79.5°C
561.8 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=78.4°C
578.3 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=79.0°C
594.9 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=79.5°C
611.6 1400 scaling MHz, 1195 ARM MHz, core volt=1.2375V, temp=79.5°C
628.1 1400 scaling MHz, 1195 ARM MHz, core volt=1.2375V, temp=79.5°C
644.6 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=80.6°C
661.1 1400 scaling MHz, 1200 ARM MHz, core volt=1.2375V, temp=80.6°C
677.6 1400 scaling MHz, 1141 ARM MHz, core volt=1.2375V, temp=80.1°C
694.2 1400 scaling MHz, 1194 ARM MHz, core volt=1.2375V, temp=80.6°C
710.7 1400 scaling MHz, 1141 ARM MHz, core volt=1.2375V, temp=80.6°C
727.3 1400 scaling MHz, 1195 ARM MHz, core volt=1.2375V, temp=80.6°C
743.8 1400 scaling MHz, 1141 ARM MHz, core volt=1.2375V, temp=80.6°C
760.3 1400 scaling MHz, 1087 ARM MHz, core volt=1.2375V, temp=80.1°C
776.8 1400 scaling MHz, 1141 ARM MHz, core volt=1.2375V, temp=80.6°C
793.3 1400 scaling MHz, 1141 ARM MHz, core volt=1.2375V, temp=80.6°C
809.8 1400 scaling MHz, 1141 ARM MHz, core volt=1.2375V, temp=80.6°C
826.3 1400 scaling MHz, 1141 ARM MHz, core volt=1.2375V, temp=81.1°C
842.9 1400 scaling MHz, 1087 ARM MHz, core volt=1.2375V, temp=80.6°C
859.5 1400 scaling MHz, 1141 ARM MHz, core volt=1.2375V, temp=80.6°C
876.0 1400 scaling MHz, 1087 ARM MHz, core volt=1.2375V, temp=81.1°C
892.5 1400 scaling MHz, 1141 ARM MHz, core volt=1.2375V, temp=80.6°C
909.1 1400 scaling MHz, 1140 ARM MHz, core volt=1.2375V, temp=80.6°C
925.6 1400 scaling MHz, 1087 ARM MHz, core volt=1.2375V, temp=81.1°C
942.2 1400 scaling MHz, 1141 ARM MHz, core volt=1.2375V, temp=80.6°C
958.7 1400 scaling MHz, 1141 ARM MHz, core volt=1.2375V, temp=81.1°C
Code: Select all
Multiply MB/second by four for overall performance
Raspbian 32 Bit Gentoo 64 Bit
Cool Hot Cool Hot
MB/s MHz °C MB/s MHz °C MB/s MHz °C MB/s MHz °C
Write/Read 1400 44.0 1400 59.1 1400 47.8 1399 65.5
1 3699 1400 68.2 3240 1200 75.2 2927 1400 69.8 2589 1200 78.4
2 3415 1200 70.9 3297 1200 79.0 2611 1200 70.9 2509 1141 81.1
3 3218 1200 72.9 3247 1195 80.6 2536 1200 72.0 2375 1087 81.7
4 3299 1200 73.1 3045 1141 81.1 2525 1200 75.2 2302 1034 81.7
5 3288 1200 75.2 2929 1087 81.7 2533 1200 75.8 2263 1034 81.7
6 3291 1200 76.3 2882 1033 81.7 2533 1200 77.4 2231 1034 81.7
Read
1 3620 1200 75.8 3343 1141 81.7 2832 1200 77.4 2646 1141 81.7
2 3602 1200 78.4 3153 1034 81.7 2841 1200 78.4 2539 1034 81.7
3 3592 1195 79.5 3015 980 82.2 2829 1195 80.1 2470 1034 81.7
4 3567 1141 80.5 2938 926 82.2 2790 1141 80.6 2444 1033 82.2
5 3500 1141 80.6 2922 980 82.7 2733 1141 80.6 2414 1034 82.2
6 3432 1087 80.6 2876 980 82.2 2679 1087 80.1 2152 980 82.2
Average 3460 1197 76.0 3074 1075 81.0 2697 1197 76.5 2411 1066 81.5
1 Core 4065 1400 4065 1400 3168 1400 3168 1400
%Av/1 Core 85 86 76 77 85 86 76 76
Start 44.0 59.1 47.8 65.5
Max 80.6 82.7 80.6 82.2
Code: Select all
Multiply MFLOPS by four for overall performance
Raspbian 32 Bit Gentoo 64 Bit
Cool Hot Cool Hot
MFLOPS MHz °C MFLOPS MHz °C MFLOPS MHz °C MFLOPS MHz °C
Average 2945 1212 75.7 2833 1168 78.7 3809 1227 71.8 3690 1203 77.4
1 Core 3439 1400 3439 1400 4360 1400 4360 1400
%Av/1 Core 86 87 82 83 87 88 85 86
Start 47.8 55.8 45.1 61.2
Max 80.1 81.7 76.3 80.1
Code: Select all
Seconds
0.0 1400 scaling MHz, 1400 ARM MHz, core volt=1.2000V, temp=52.6°C
1.0 1400 scaling MHz, 600 ARM MHz, core volt=1.2000V, temp=52.6°C
2.4 1400 scaling MHz, 600 ARM MHz, core volt=1.2000V, temp=52.6°C
Code: Select all
MB/second and MFLOPS are for each core
Integer + OpenGL
Plastic Case FLIRC Case Cool FLIRC Case Hot
MB/sec MHz FPS °C MB/sec MHz FPS °C MB/sec MHz FPS °C
Average 2376 1093 14.9 80.0 3025 1400 18.9 59.6 2954 1387 18.4 68.8
1 Core 3168 1400 20 3168 1400 20 3168 1400 20
%Av/1 Core 75 78 74 95 100 95 93 99 92
Start 55.8 37.6 53.7
Max 82.7 67.6 70.4
Floating Point + OpenGL
Plastic Case FLIRC Case Cool FLIRC Case Hot
MFLOPS MHz FPS °C MFLOPS MHz FPS °C MFLOPS MHz FPS °C
Average 2880 1137 10.5 79.8 4162 1400 18.4 64.4 4096 1393 18.8 66.8
1 Core 4360 1400 20 4360 1400 20 4360 1400 20
%Av/1 Core 66 81 53 95 100 92 94 99 94
Start 66.1 46.2 50.5
Max 82.2 69.3 69.8

I have a 64 bit integer version for Linux/PCs. I will see if it is easily convertible.Sakaki wrote:roylongbottom,
as always, very interesting results. One question - are the integer stress tests moving 32-bit ints around? If so, do you have a version of the same test that moves 64-bit ints? Unaligned data access (wrt the native word length) would probably impose some performance penalty, as appears to be the case here for 64-bit vs 32-bit mode.

Code: Select all
Integer Stresss Test Single Core MB/second
Write/Read Read
L1 L2 RAM L1 L2 RAM
32 Bit Integers 2989 2916 1524 3348 2866 1862
64 Bit Integers 5706 4635 1094 6650 5323 1945
Code: Select all
demouser@pi64 ~ $ mkdir -p qemu-test && cd qemu-test
Code: Select all
demouser@pi64 ~/qemu-test $ wget -c http://snapshots.linaro.org/components/kernel/leg-virt-tianocore-edk2-upstream/latest/QEMU-AARCH64/RELEASE_CLANG35/QEMU_EFI.fdCode: Select all
demouser@pi64 ~/qemu-test $ wget -c https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-arm64.img
Code: Select all
demouser@pi64 ~/qemu-test $ qemu-img create -f qcow2 -b bionic-server-cloudimg-arm64.img bionic-image-01.img
Code: Select all
demouser@pi64 ~/qemu-test $ { echo instance-id: kvm-bionic-01; echo local-hostname: kvm-bionic; } > meta-data
demouser@pi64 ~/qemu-test $ printf "#cloud-config\npassword: passw0rd\nchpasswd: { expire: False }\nssh_pwauth: True\n" > user-data
Code: Select all
==> meta-data <==
instance-id: kvm-bionic-01
local-hostname: kvm-bionic
==> user-data <==
#cloud-config
password: passw0rd
chpasswd: { expire: False }
ssh_pwauth: True
Code: Select all
demouser@pi64 ~/qemu-test $ sudo emerge --verbose --noreplace virtual/cdrtools
Code: Select all
demouser@pi64 ~/qemu-test $ mkisofs -o seed-kvm-bionic-01.iso -V cidata -J -rock user-data meta-data
Code: Select all
QEMU_EFI.fd bionic-server-cloudimg-arm64.img seed-kvm-bionic-01.iso
bionic-image-01.img meta-data user-dataCode: Select all
demouser@pi64 ~/qemu-test $ qemu-system-aarch64 -M virt -cpu host \
-m 256M -smp 2 -nographic \
-bios QEMU_EFI.fd \
-cdrom seed-kvm-bionic-01.iso \
-drive if=none,file=bionic-image-01.img,id=hd0 -device virtio-blk-device,drive=hd0 \
-device virtio-net-device,netdev=vmnic -netdev user,id=vmnic \
-accel kvm 2>/dev/null
Code: Select all
...
* Syncing all portage overlays
/usr/bin/eix-sync: line 396: layman: command not found
* layman -S failed
...
>>> No outdated packages were found on your system.
* Updating @world set (for new versions, or changed use flags)...
Draw call returned Invalid argument. Expect corruption.
...
Code: Select all
>>> No outdated packages were found on your system.
* Updating @world set (for new versions, or changed use flags)...
top command:
8922 root 39 19 373976 363172 4268 R 100.0 36.6 13:17.39 emergeCode: Select all
1542136327: *** Finished. Cleaning up...
1542136332: *** exiting successfully.
1542136332: *** terminating.
Code: Select all
[16103.027259] SLUB: Unable to allocate memory on node -1, gfp=0x14000c0(GFP_KERNEL)
[16103.027265] cache: nsproxy, object size: 56, buffer size: 56, default order: 0, min order: 0
[16103.027272] node 0: slabs: 2175, objs: 158775, free: 0
[16103.027295] kswapd0: page allocation failure: order:0, mode:0x14000c0(GFP_KERNEL), nodemask=(null)
[16103.027310] kswapd0 cpuset=/ mems_allowed=0
[16103.027324] CPU: 0 PID: 45 Comm: kswapd0 Tainted: G D C 4.14.71-v8-4f30a5365296-bis+ #2
[16103.027331] Hardware name: Raspberry Pi 3 Model B Plus Rev 1.3 (DT)
[16103.027336] Call trace:
[16103.027346] [<ffffff9be8e8b1e8>] dump_backtrace+0x0/0x268
[16103.027354] [<ffffff9be8e8b474>] show_stack+0x24/0x30
[16103.027361] [<ffffff9be9572ecc>] dump_stack+0xac/0xe8
[16103.027368] [<ffffff9be8fe2ae8>] warn_alloc+0xe0/0x160
[16103.027376] [<ffffff9be8fe3a90>] __alloc_pages_nodemask+0xe90/0xec8
[16103.027383] [<ffffff9be9035e24>] new_slab+0x404/0x578
[16103.027391] [<ffffff9be9038210>] ___slab_alloc.constprop.30+0x2d0/0x368
[16103.027398] [<ffffff9be9038304>] __slab_alloc.isra.24.constprop.29+0x5c/0xa8
[16103.027406] [<ffffff9be9038590>] kmem_cache_alloc+0x240/0x270
[16103.027414] [<ffffff9be9031d9c>] zswap_frontswap_store+0xbc/0x620
[16103.027422] [<ffffff9be90304ec>] __frontswap_store+0x9c/0x170
[16103.027429] [<ffffff9be9029aa0>] swap_writepage+0x68/0xc0
[16103.027437] [<ffffff9be8ff0adc>] pageout.isra.19+0x1a4/0x330
[16103.027444] [<ffffff9be8ff2cec>] shrink_page_list+0x7fc/0xaf8
[16103.027451] [<ffffff9be8ff36e4>] shrink_inactive_list+0x20c/0x5f0
[16103.027459] [<ffffff9be8ff4250>] shrink_node_memcg+0x368/0x640
[16103.027466] [<ffffff9be8ff45ec>] shrink_node+0xc4/0x328
[16103.027473] [<ffffff9be8ff5548>] kswapd+0x2b8/0x7f8
[16103.027481] [<ffffff9be8eee788>] kthread+0x108/0x138
[16103.027488] [<ffffff9be8e85248>] ret_from_fork+0x10/0x18