Jump to content

Recommended Posts

Posted
  On 8/8/2018 at 4:02 PM, tkaiser said:

 

Already patched and benchmarking. My board seems to be fine with 1800 MHz @ 1080mV :)

Expand  

I suggest you check your board's speed bin.

 

According to the source code, it's at the 0x1c offset of the SID, bit 5-7 (counted from LSB).

 

0b011 is best, 0b010 is middle (these use the lower voltage DVFS table, with 1800MHz @ 1100mV), 0b001 is worst (this uses the higer voltage table, 1800MHz @ 1160mV).

 

Here's a FEL command to calculate the speed bin (on bash):

```

echo $((($(sunxi-fel readl 0x0300621c) >> 5) & 0x7))

```

 

On my early Pine H64 model A sample and my early (current) model B sample (both with ID "H7309BA 6842" printed on the SoC) they're bin 1, and my later Pine H64 model A sample ("H6448BA 7782") it's bin 3.

Posted
  On 8/8/2018 at 4:16 PM, Icenowy said:

Here's a FEL command to calculate the speed bin

Expand  

 

No FEL setup here currently. Is there an dev2mem alternative?

 

Anyway: Just added PineH64 with 1800 MHz to the list: https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md

 

Quick look at USB3: When attaching my EVO840 SSD in UAS capable disk enclosures (JMS567 and then ASM1153) I get these messages.

[ 1890.116983] xhci-hcd xhci-hcd.0.auto: ERROR Transfer event for unknown stream ring slot 1 ep 6
[ 1890.116987] xhci-hcd xhci-hcd.0.auto: @00000000b8048580 00000000 00000000 1b000000 01078001
...
[ 2444.903488] xhci-hcd xhci-hcd.0.auto: ERROR Transfer event for unknown stream ring slot 1 ep 2
[ 2444.903493] xhci-hcd xhci-hcd.0.auto: @00000000b8048b20 00000000 00000000 1b000000 01038000

UAS storage performance as follows (forget about the ASM1153 numbers, this enclosure can not be powered externally, doesn't get enough juice my PineH64's USB3 port -- I have an early developer sample 'Model A' -- and therefore chooses a strategy to deal with underpowering --> lowering performance)

EVO 840 / JMS567                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     6090     6479     6300     6358     6403     6508
          102400      16    24386    24449    24493    24570    24570    24445
          102400     512    72744    72826   253654   261201   260663    72693
          102400    1024    73473    73695   302101   314144   313409    74325
          102400   16384    73443    77008   336140   350131   348980    76653
          102400   16384    73768    77008   336151   350292

EVO 840 / ASM1153 (under)powered by PineH64                   random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     6464     6907     6427     6424     6493     6828
          102400      16    24434    24532    24956    25071    25039    24482
          102400     512    70552    70668    87827    88720    88691    70667
          102400    1024    70528    70713    92226    93154    93183    70684
          102400   16384    69263    72237    96030    96996    97009    72169
          102400   16384    69044    71879    96031    97134

Read performance isn't bad but write is too low. I remember @Xalius reported the same when playing with H6 already months ago. I also tested with the RTL8153 dongle that is known to saturate link speed (940 Mbits/sec). Too early since only ~200 Mbits/sec in both directions.

 

Onboard GbE looks promising (though there's a few Mbits/sec missing in TX direction):

bash-3.2# iperf3 -c 192.168.83.65
Connecting to host 192.168.83.65, port 5201
[  4] local 192.168.83.64 port 60382 connected to 192.168.83.65 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   113 MBytes   948 Mbits/sec                  
[  4]   1.00-2.00   sec   112 MBytes   940 Mbits/sec                  
[  4]   2.00-3.00   sec   112 MBytes   940 Mbits/sec                  
[  4]   3.00-4.00   sec   112 MBytes   940 Mbits/sec                  
[  4]   4.00-5.00   sec   112 MBytes   940 Mbits/sec                  
[  4]   5.00-6.00   sec   112 MBytes   940 Mbits/sec                  
[  4]   6.00-7.00   sec   112 MBytes   940 Mbits/sec                  
[  4]   7.00-8.00   sec   112 MBytes   940 Mbits/sec                  
[  4]   8.00-9.00   sec   112 MBytes   940 Mbits/sec                  
[  4]   9.00-10.00  sec   112 MBytes   940 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  sender
[  4]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  receiver

iperf Done.

bash-3.2# iperf3 -R -c 192.168.83.65
Connecting to host 192.168.83.65, port 5201
Reverse mode, remote host 192.168.83.65 is sending
[  4] local 192.168.83.64 port 60379 connected to 192.168.83.65 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   108 MBytes   902 Mbits/sec                  
[  4]   1.00-2.00   sec   108 MBytes   905 Mbits/sec                  
[  4]   2.00-3.00   sec   108 MBytes   905 Mbits/sec                  
[  4]   3.00-4.00   sec   108 MBytes   905 Mbits/sec                  
[  4]   4.00-5.00   sec   108 MBytes   905 Mbits/sec                  
[  4]   5.00-6.00   sec   108 MBytes   905 Mbits/sec                  
[  4]   6.00-7.00   sec   108 MBytes   905 Mbits/sec                  
[  4]   7.00-8.00   sec   108 MBytes   905 Mbits/sec                  
[  4]   8.00-9.00   sec   108 MBytes   905 Mbits/sec                  
[  4]   9.00-10.00  sec   108 MBytes   905 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  1.06 GBytes   906 Mbits/sec    1             sender
[  4]   0.00-10.00  sec  1.05 GBytes   905 Mbits/sec                  receiver

iperf Done.

 

Full debug output (including dmesg output for USB events): http://ix.io/1jEy

Posted
  On 8/8/2018 at 5:03 PM, tkaiser said:

No FEL setup here currently. Is there an dev2mem alternative

Expand  

Surely OK!

 

  On 8/8/2018 at 5:03 PM, tkaiser said:

When attaching my EVO840 SSD in UAS capable disk enclosures (JMS567 and then ASM1153) I get these messages

Expand  

Do them appear on other SoCs w/ DWC3?

 

  On 8/8/2018 at 5:03 PM, tkaiser said:

Read performance isn't bad but write is too low

Expand  

Maybe I need to check the DRAM controller or bus clocking code?

Posted
  On 8/8/2018 at 5:09 PM, Icenowy said:

Do them appear on other SoCs w/ DWC3?

Expand  

Yes, RK3328, RK3399, Exynos 5244. Error messages on RK once the enclosures appear on the bus:

[ 1503.960555] xhci-hcd xhci-hcd.2.auto: ERROR Transfer event for disabled endpoint or incorrect stream ring
[ 1503.960574] xhci-hcd xhci-hcd.2.auto: @00000000b684e310 00000000 00000000 04000000 03038001

 

  On 8/8/2018 at 5:09 PM, Icenowy said:

Maybe I need to check the DRAM controller or bus clocking code?

Expand  

 

I wonder whether the tinymembench numbers are ok (especially memcpy) and whether we can compare with Allwinner BSP? 

Posted
  On 8/8/2018 at 5:03 PM, tkaiser said:

Read performance isn't bad but write is too low

Expand  

Could you `devmem 0x03001510 w 0x03000002` before testing?

 

(Although I cannot ensure whether this will help...)

Posted
  On 8/8/2018 at 5:20 PM, Icenowy said:

Could you `devmem 0x03001510 w 0x03000002` before testing?

Expand  

 

Doesn't do the trick -- still below 80MB/s:

root@pineh64:/mnt/sda# /usr/local/src/devmemX/devmem2 0x03001510 w 0x03000002
root@pineh64:/mnt/sda# iozone -e -I -a -s 1000M -r 16384k -i 0 -i 1 | grep 102400
	File size set to 1024000 kB
         1024000   16384    77356    77853   348247   349195

 

Posted
  On 7/31/2018 at 10:58 PM, @lex said:

If you don't mind, i throw some numbers here grabbed from Opi One Plus so we all can compare to PineH64

Expand  

 

I benchmarked the PineH64 now at 1800 MHz: https://github.com/ThomasKaiser/sbc-bench/commit/2f4dfe6a21db48bc130fc3801b78caf4412bb048

 

Are you also running Allwinner's BSP on H6 boards? Would be pretty interesting to get tinymembench results with BSP DRAM initialization and kernel (see end of the thread)

Posted (edited)
  On 8/8/2018 at 5:37 PM, tkaiser said:

Are you also running Allwinner's BSP on H6 boards? Would be pretty interesting to get tinymembench results with BSP DRAM initialization and kernel (see end of the thread)

Expand  

I am running @Icenowy kernel, 1.5 GHz, 3.10.65 with some minor modification and 4.4.y 4.9.y without ethernet and axp805/6 not recognized .

I will run  tinymembench possibly tomoorow (lack of time)...

Edited by @lex
4.9 - too many kernel in my mind, sorry
Posted
  On 8/8/2018 at 5:37 PM, tkaiser said:

tinymembench results with BSP DRAM initialization and kerne

Expand  

 

OrangePi One Plus BSP 4.9, kernel 4.9.56 stock for analisys. 

Here is DRAM initialization in use (hope is what you meant):

[271]PMU: AXP806
[275]set pll start
[278]set pll end
[279]rtc[0] value = 0x00000000
[282]rtc[1] value = 0x00000000
[285]rtc[2] value = 0x00000000
[288]rtc[3] value = 0x00000000
[292]rtc[4] value = 0x00000000
[295]rtc[5] value = 0x00000000
[298]DRAM VERSION IS V2_5
[300]PMU:Set DDR Vol 1200mV OK.
[304]PMU:Set DDR Vol 1200mV OK.
[314]BYTE0 GATE ERRO IS = 00000002
[318]BYTE1 GATE ERRO IS = 00000002
[321]BYTE2 GATE ERRO IS = 00000002
[324]BYTE3 GATE ERRO IS = 00000002
[336]DRAM CLK =744 MHZ
[338]DRAM Type =7 (3:DDR3,4:DDR4,6:LPDDR2,7:LPDDR3)
[343]DRAM zq value: 003b3bfb
[350]IPRD=006f006e--PGCR0=00000f5d--PLL=b0003d00
[354]DRAM SIZE =1024 M,para1 = 000030fa,para2 = 04000000
[366]DRAM simple test OK.
[369]dram size =1024

tinymembench, running first time with interactive governor:

  Reveal hidden contents
 


CPU:

  Reveal hidden contents
8

Running subsequent tinymembench with performance governor:

  Reveal hidden contents

 

CPU:

 

  Reveal hidden contents

 

Things you should consider in your analysis that could favor some results or not.

 

* axp806 not detected by kernel

[    0.431724] [axp806] chip id not detect 0xff !
[    1.496996] input: axp80x-powerkey as /devices/platform/soc/pmu0/axp80x-powerkey/input/input0
[    4.925539] axp80x_aldo1: unsupportable voltage range: 858992688-3300000uV

* eth not functional

[    0.816207] sun50iw6p1-pinctrl pio: expect_func as:gmac0, but muxsel(5) is func:csi0
[    0.824909] sun50iw6p1-pinctrl pio: expect_func as:gmac0, but muxsel(5) is func:mdc0
[    0.833599] sun50iw6p1-pinctrl pio: expect_func as:gmac0, but muxsel(5) is func:mdio0
[    0.843450] gmac-power2: NULL
[   11.600421] libphy: gmac0: probed

And the usual:

 

  Reveal hidden contents

 

I am pretty sure it runs at 1.8 GHz:

CPU1 freq      : 1800 MHz 
CPU2 freq      : 1800 MHz 
CPU3 freq      : 1800 MHz 
CPU4 freq      : 1800 MHz 
CPU count      : 4  
Governor       : performance  
SOC Temp       : 55 C 

Next time i get results from 3.10...

Posted
  On 8/8/2018 at 5:28 PM, tkaiser said:

Doesn't do the trick

Expand  

Could you perform another trial, this times on the DRAM initialization code?

 

Comment out all contents in `mctl_set_master_priority()` in u-boot/arch/arm/mach-sunxi/dram_sun50i_h6.c, or just comment out the call to the function.

 

This will disable the QoS of the memory controller.

Posted

ASM2115 SATA 6Gb/s bridge and Samsung 850 PRO 256GB


USB3 port at OrangePi Lite2, 1.5Ghz, 4.17.y http://ix.io/1jHP

iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4    14794    15914    15837    15583    11989    15921
          102400      16    28337    29333    29288    30406    26548    29360
          102400     512    40902    41017    40852    41017    40007    41121
          102400    1024    41129    41316    41116    41317    40152    41333
          102400   16384    40305    41491    41212    41382    41319    41384

 

Posted
  On 8/9/2018 at 8:24 AM, Igor said:

ASM2115 SATA 6Gb/s bridge and Samsung 850 PRO 256GB

Expand  

 

That's only Hi-Speed but not SuperSpeed:

Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 006 Device 004: ID 174c:1153 ASMedia Technology Inc. ASM2115 SATA 6Gb/s bridge
...
/:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 1: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M

But nice to see that we get +41MB/s with UAS Mass Storage protocol and "USB2" (correctly called Hi-Speed)

 

Edit: It's not even UAS that gets negotiated.

Posted
  On 8/9/2018 at 9:02 AM, tkaiser said:

It's not even UAS that gets negotiated.

Expand  


Yes. It looks like a random issue. I did a few tests on PineH6 and two strange things happened. First, ASM2115 works in fast mode but it doesn't complete the test. It hangs somewhere in the middle. Next test is with 152d:1562 JMicron Technology Corp. and M2 128GB Transcend MTS:

PineH6, 4.18.y
 

  Reveal hidden contents

Reference: Intel Xeon 2GHz, 4.9.y via very good HUB

  Reveal hidden contents
 


Edit: All images for H6 boards have been updated!

Posted

... I just noticed that this thread is Pine H64 related, so I moved my post to an own topic at

 

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines