prototype-cjdns-pi icon indicating copy to clipboard operation
prototype-cjdns-pi copied to clipboard

CJDNS Version bump - (Testing Needed)

Open darkdrgn2k opened this issue 7 years ago • 11 comments

Talked to CJD and confirmed that the -O2 issue is fixed ( Issue #165 )

Can we test to confirm its fixed.

darkdrgn2k avatar Oct 05 '18 14:10 darkdrgn2k

Test using raspberry pi 3b using tbase100 Ethernet gcc (Raspbian 6.3.0-18+rpi1+deb9u1) 6.3.0 20170516

Clear over ipv4

[  4]   0.00-1.00   sec  11.2 MBytes  94.2 Mbits/sec    0   33.9 KBytes       
[  4]   1.00-2.00   sec  11.2 MBytes  93.6 Mbits/sec    0   35.4 KBytes       
[  4]   2.00-3.00   sec  11.2 MBytes  94.2 Mbits/sec    0   35.4 KBytes       
[  4]   3.00-4.00   sec  11.2 MBytes  94.1 Mbits/sec    0   35.4 KBytes       
[  4]   4.00-5.00   sec  11.2 MBytes  94.1 Mbits/sec    0   35.4 KBytes       
[  4]   5.00-6.00   sec  11.2 MBytes  94.2 Mbits/sec    0   35.4 KBytes       

CJDNS binary compiled with prototype on sudo CFLAGS="-march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard" ./do

[  4]   0.00-1.00   sec  4.35 MBytes  36.5 Mbits/sec    0    205 KBytes       
[  4]   1.00-2.00   sec  4.28 MBytes  35.9 Mbits/sec    0    391 KBytes       
[  4]   2.00-3.00   sec  4.22 MBytes  35.4 Mbits/sec    0    576 KBytes       
[  4]   3.00-4.00   sec  2.81 MBytes  23.5 Mbits/sec   27    443 KBytes       

CJDNS binary compiled on orange pi one CJDNS_BUILD_CMD="sudo Seccomp_NO=1 CFLAGS=\"-s -static -Wall -mfpu=neon-vfpv4\" ./do" source gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609

[  4]   0.00-1.00   sec  7.33 MBytes  61.4 Mbits/sec    0    333 KBytes       
[  4]   1.00-2.00   sec  6.05 MBytes  50.7 Mbits/sec   22    420 KBytes       
[  4]   2.00-3.00   sec  5.80 MBytes  48.7 Mbits/sec    4    478 KBytes       
[  4]   3.00-4.00   sec  5.93 MBytes  49.7 Mbits/sec    0    527 KBytes       
[  4]   4.00-5.00   sec  5.80 MBytes  48.6 Mbits/sec    0    563 KBytes

In comparison same binary on Orange Pi One (which is slower then the rpi)

[  4]  21.00-22.00  sec  7.94 MBytes  66.6 Mbits/sec    0    604 KBytes       
[  4]  22.00-23.00  sec  8.92 MBytes  74.8 Mbits/sec    2    450 KBytes       
[  4]  23.00-24.00  sec  7.94 MBytes  66.7 Mbits/sec    0    481 KBytes       
[  4]  24.00-25.00  sec  7.94 MBytes  66.6 Mbits/sec    0    502 KBytes       
[  4]  25.00-26.00  sec  8.74 MBytes  73.3 Mbits/sec    0    511 KBytes       
[  4]  26.00-27.00  sec  7.94 MBytes  66.6 Mbits/sec    0    515 KBytes       
[  4]  27.00-28.00  sec  7.94 MBytes  66.6 Mbits/sec    0    515 KBytes       

darkdrgn2k avatar Oct 14 '18 21:10 darkdrgn2k

What is this on?

CJDNS binary compiled with prototype on sudo CFLAGS="-march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard" ./do

If it's rpi3b why is it so slow?

benhylau avatar Oct 15 '18 12:10 benhylau

Can we test to confirm its fixed.

What needs to happen before we can merge this?

benhylau avatar Nov 30 '18 01:11 benhylau

-O2 issues seems to be fixed CJDNS is preforming really poorly (not meeting recorded benchmarks at all.

Two things we should check

  • Test past versions of CJDNS to see if they can preform as well ass they used to

  • [ ] Initial TAG_CJDNS=cjdns-v19.1

  • [ ] Oct 28, 2017 TAG_CJDNS=186169f9a8631633795e4e9d70c501519a7800f4

  • [ ] Current Develop d2e55d58548d83940482fe1bbbe1fd36f7f1b4ef

  • [ ] Proposed Fix a86c3e147b5e3eefbbe2c94c8c5aded57e3dfbaf

  • Test compile strings from previous releases to see if that is the issue

  • [ ] Initial CJDNS_BUILD_CMD="sudo NO_TEST=1 CFLAGS=\"-march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard\" ./do"

  • [ ] Oct 28 2017 CJDNS_BUILD_CMD="sudo CFLAGS=\"-march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard -O2\" ./do"

  • [ ] -O2 Workaround - CJDNS_BUILD_CMD="sudo CFLAGS=\"-march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard -O2\" ./do"

  • [ ] Proposed Fix CJDNS_BUILD_CMD="sudo CFLAGS=\"-march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard\" ./do"

Test where done against a i7 test point

  • Test Pi 3 and 3b+ to see if thats the issue

  • Test to see if IPFS is hogging the cpu more then it used to

darkdrgn2k avatar Dec 15 '18 15:12 darkdrgn2k

Needs nodejs installed (apt-get install -y nodejs)

Phase one compile script

CJDNS_BUILD_CMD="sudo CFLAGS=\"-march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard -O2\" ./do"
#CJDNS_BUILD_CMD="sudo  ./do"

TAG_CJDNS=cjdns-v19.1
ID=1
sudo git clone https://github.com/cjdelisle/cjdns.git cjdns$ID
cd cjdns$ID
eval $CJDNS_BUILD_CMD 
cd ..

TAG_CJDNS=186169f9a8631633795e4e9d70c501519a7800f4
ID=2
sudo git clone https://github.com/cjdelisle/cjdns.git cjdns$ID
cd cjdns$ID
eval $CJDNS_BUILD_CMD 
cd ..


TAG_CJDNS=d2e55d58548d83940482fe1bbbe1fd36f7f1b4ef
ID=3
sudo git clone https://github.com/cjdelisle/cjdns.git cjdns$ID
cd cjdns$ID
eval $CJDNS_BUILD_CMD 
cd ..

TAG_CJDNS=a86c3e147b5e3eefbbe2c94c8c5aded57e3dfbaf
ID=4
sudo git clone https://github.com/cjdelisle/cjdns.git cjdns$ID
cd cjdns$ID
eval $CJDNS_BUILD_CMD 
cd ..


cp cjdns1/cjdroute cjdroute1
cp cjdns2/cjdroute cjdroute2
cp cjdns3/cjdroute cjdroute3
cp cjdns4/cjdroute cjdroute4

darkdrgn2k avatar Dec 26 '18 02:12 darkdrgn2k

First round of testing

Result 1
[  4]   0.00-30.00  sec   180 MBytes  50.3 Mbits/sec   31             sender
[  4]   0.00-30.00  sec   178 MBytes  49.9 Mbits/sec                  receiver

Result 2
[  4]   0.00-30.00  sec   142 MBytes  39.7 Mbits/sec  538             sender
[  4]   0.00-30.00  sec   140 MBytes  39.3 Mbits/sec                  receiver


Result 3
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-30.00  sec   185 MBytes  51.6 Mbits/sec   28             sender
[  4]   0.00-30.00  sec   183 MBytes  51.1 Mbits/sec                  receiver

Restul 4
[  4]   0.00-30.00  sec   186 MBytes  51.9 Mbits/sec   38             sender
[  4]   0.00-30.00  sec   184 MBytes  51.4 Mbits/sec                  receiver

darkdrgn2k avatar Dec 26 '18 03:12 darkdrgn2k

What's going on with this now? What CJDNS version should we update too and test now?

makew0rld avatar Jan 31 '19 20:01 makew0rld

Do we want to do something with this before #291 gets merged?

makew0rld avatar Feb 12 '19 02:02 makew0rld

Do we want to do something with this before #291 gets merged?

Depends if we can get an answer.. right now its an enigma!

darkdrgn2k avatar Feb 12 '19 03:02 darkdrgn2k

Shall we merge this for v0.4?

benhylau avatar Feb 19 '19 16:02 benhylau

Test Script Replace ID with 1 2 3 or 4

TARGET="fc......"
ID=1
sudo ./cjdroute$ID < test.conf
sudo sleep 2
sudo ./cjdroute$ID --bench | grep Benchmark\ 
sudo iperf3 -c $TARGET
sudo killall cjdroute$ID

darkdrgn2k avatar Aug 23 '19 14:08 darkdrgn2k

bumped to latest because it would not compile anymore

darkdrgn2k avatar Dec 26 '22 03:12 darkdrgn2k