S922X Ugoos AM6B Device Tree - Performance/Efficiency - Testing Needed

You mean download more RAM? :joy:

To be honest I want to download a lower latency RAM. :slight_smile:

All kidding aside.

Lower latency RAM can make mediocre SoC fantastic in memory heavy apps .

1 Like

Ideas to explore:

Why this idea came in my head? Users will get all excited about faster CPU on paper but never see the benefits in real life. What if we could make their experience correlate to theoretical benchmark. Or even better, like one user mentioned above make old chips faster than newer ones.

Intended Application Processors: in-order execution cores (little ones)

Thought: From some CPU usage tables above we can see there is quite a lot of work done by “nice” process. “User” and “system” takes priority by default in kernel.

Dumb idea: modify the kernel scheduling code to put nice processes on one of the cores and keep core 0 or a big core as user and system priority.

Hopeful effect users can “feel” speed improvements because we control the scheduling of non essential tasks to a future time/different core.

1 Like

Hello. To be super clear on how to push the new dtb, in my case w/CE installed on the eMMC:

  1. Download the file to PC
  2. Rename it dtb.img
  3. Use PuTTY or similar to SSH into device
  4. Run these commands:
mount -o remount,rw /flash
mv dtb.img dtb_o.img

Reboot CE

Question is where does the new dtb.img need to be on my PC? I assume the “mv” part is what sends command to move the file to the device?

mv just creates a backup of the original so that we can revert back

The new DTB should be put by using scp. On emmc it should be /flash/xxxxx.img

Then reboot

2 Likes

Thanks. Using FileZilla, I can see the /flash folder. Any reason not to make a copy of the dtb there and simply move the new dtb over?

fz

No objections to any of those.

What I did was equivalent to:

Delete DTB.img and DTB.xml

Then paste new DTB.img.

Then reboot.

2 Likes

Assuming dtb.xml get automatically created after the new dtb is there. Think using FileZilla or another FTP tool is much easier; no scripts/commands to run, just copy new dtb.img over (after making a copy of the existing dtb.img and dtb.xml already there and saving somewhere).

1 Like

I’m really curious how this compares to the S928X in performance after the improvements. That’s the Ugoos Sk1 and the X96 X10, we should be very close to it now in single core, it already beats it in multicore.
is their a test everyone can do on their devices and we can pull up the scores here
hdmkv? you have the Odroid N2+ , the AM6B+, the X96 X10, and this might even work on the 905X4 boxes, which you have two I’m aware of, the Homatics Box R 4k Plus and the KinHank G1, plus you are amazing at testing too!

the Homatics Box R 4k Plus is regarded as the best value box right now in both Kodi and this forum, but people have said it’s not as fast as a s922x, well with 25% improvement that box would be killer! enough performance now.

MasterKeyxda any single tests everyone can perform to compare?

This will really affect peoples decision on buying the best box

I am using WinSCP. I can see the flash folder, the default dtb.img and the dtb.xml.

When I try to delete, I get an error, I’m guessing permissions. When I try to update permissions on /flash, I get same error.

What is easiest way to delete these 2 files from the /flash folder?

I use WinSCP too and had no problem deleting the files and copy new dtb after running ssh command:
mount -o remount,rw /flash

and after I copied:
mount -o remount,ro /flash

1 Like

Maybe you allready have

In settings/media/general

Enable

Show hidden files
Allow file rename /deletions

This is in Default Estuary Skin
Set to Expert/Advanced

Beelink posted some DMIP/Mhz values for the s922x. Those values appear to be inline with what others have reported for total DMIPs of the s922x

S922X rev a Dmips = 4.8DMIPS/Mhz × 4 A72-cores × 1800Mhz 
                  + 2.3DMIPS/Mhz × 2 A53-cores × 1800Mhz = 42840 DMIPS
                  
S922X rev b Dmips = 4.8DMIPS/Mhz × 4 A72-cores × 2200Mhz 
                  + 2.3DMIPS/Mhz × 2 A53-cores × 1800Mhz = 50520 DMIPS 

taking the above two DMIP values:
capacity-dmips-mhz little core = (2.3 DMIPs/Mhz)/(4.8 DMIPs/Mhz) * 1024 = 491
capacity-dmips-mhz big core = (4.8 DMIPs/Mhz)/(4.8 DMIPs/Mhz) * 1024 = 1024

Similar ratio to your example, but further off from the ratio in your mesong12b.dtsi:

capacity-dmips-mhz little core = 778
capacity-dmips-mhz big core = 1192

1 Like

Thanks. I updated those, but still does not fix error. Cannot delete in WinSCP.

We could try this out.

I expect it’ll utilize A73 even more with a ratio greater than 2x. We’d lose efficiency, increase CPU temp and gain some performance. Then we’d lean heavily into performance and very little into efficiency.

Also does someone know how to generate just the DTB files instead of recompiling entire Linux?

1 Like

Thats what i was thinking :thinking:
I did not delete dtb.xml either

After reboot it is replaced?

Also iam testing on external uSD

I renamed to ugoos Part2
And added it Device Tree Folder

So can easily switch back and forth

Much easier when on external!!!

Thank you. This did the trick. Needed to run the mount… rw /flash command before deleting in WinSCP.

It does feel faster, very cool development.

This! Also works with FileZilla.

1 Like

are you able to do some number testing like shown in this comment?

if not it’s fine, also what hardware are you using ?

Okay, did my testing with both my AM6B+ units and got similar results. Sharing one of them…

LSCPU:

CoreELEC:~ # lscpu
Architecture:           aarch64
  Byte Order:           Little Endian
CPU(s):                 6
  On-line CPU(s) list:  0-5
Vendor ID:              ARM
  Model name:           Cortex-A53
    Model:              4
    Thread(s) per core: 1
    Core(s) per socket: 2
    Socket(s):          1
    Stepping:           r0p4
    CPU(s) scaling MHz: 100%
    CPU max MHz:        1800.0000
    CPU min MHz:        500.0000
    BogoMIPS:           48.00
    Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32
  Model name:           Cortex-A73
    Model:              2
    Thread(s) per core: 1
    Core(s) per socket: 4
    Socket(s):          1
    Stepping:           r0p2
    CPU(s) scaling MHz: 100%
    CPU max MHz:        2208.0000
    CPU min MHz:        500.0000
    BogoMIPS:           48.00
    Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32
Caches (sum of all):
  L1d:                  192 KiB (6 instances)
  L1i:                  320 KiB (6 instances)
  L2:                   1.3 MiB (2 instances)

CPU Test:

top - 21:08:14 up 7 min,  1 user,  load average: 0.06, 0.22, 0.13
Tasks: 175 total,   2 running, 173 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.2 us,  1.1 sy,  0.0 ni, 95.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3799.5 total,   2817.2 free,    600.5 used,    464.0 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   3199.0 avail Mem

So, after pushing the new & improved DTB, I didn’t notice much difference from the last ‘enhancement’ I had done, which was to switch to HS400. That had a positive performance impact. Suspicious, I looked at my CoreELEC settings, and noticed the box had reverted to HS200 after doing the above. Switched back to HS400, rebooted, and viola! … yes, noticeably snappier!

Great work @MasterKeyxda! :clap: :raised_hands:

1 Like