[Letux-kernel] The new SMP driver and the new cache driver.

H. Nikolaus Schaller hns at goldelico.com
Sat Jan 16 18:53:24 CET 2021


Hi,

> Am 16.01.2021 um 07:55 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
> This one booted without segfaults with the same rootfs as before. At least I haven't seen such.

I have rebuilt my tree and reinstalled and have not yet seen a segfault or hang as before.

No idea what went wrong. Could have been fetching/using the wrong defconfig. I have committed
the letux_defconfig and there is now a new branch "letux-5.10.7+jz4780-smp" [1] which appears
to work for me.

sysbench --cpu --num-threads=4 reports execution time (seconds) for some devices:

CI20 single threaded	139.4188
CI20:			69.5500
Udoo Neo (i.MX6):	287.8606	[single core Cortex A8] 
RasPi 3B+:		103.3249	[dual core CI20 is faster than quad-core A53 with 1.4 GHz (in 32 bit mode)]
PocketBeagle (AM3358):	359.8562	[single core Cortex A8]
Pyra (OMAP5):		9.9983		[dual Cortex A15 with 1.5GHz]
Pinephone:		52.9954		[quad core Cortex A53 (in 32 bit mode)]

That shows that the "old" jz4780 isn't that bad in performance if we have SMP enabled.
And compared to the OMAP5 it stays quite cool (<40°C).

Next step is to try to integrate SMP with the CI20-HDMI stuff. Then we may get a first
"longterm stable kernel" SMP solution, even if the patches need some polishing for
upstreaming.

BR and thanks for all the hard work on SMP,
Nikolaus


[1] https://git.goldelico.com/?p=letux-kernel.git;a=shortlog;h=refs/heads/letux-5.10.7%2Bjz4780-smp


Attached is some system info:

root at letux:~# cat /proc/cpuinfo 
system type             : JZ4780
machine                 : img,ci20
processor               : 0
cpu model               : Ingenic XBurst V4.15  FPU V0.0
BogoMIPS                : 1196.85
wait instruction        : yes
microsecond timers      : no
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 1, address/irw mask: [0x0fff]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        :
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

processor               : 1
cpu model               : Ingenic XBurst V4.15  FPU V0.0
BogoMIPS                : 1202.58
wait instruction        : yes
microsecond timers      : no
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 1, address/irw mask: [0x0fff]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        :
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 1
VCED exceptions         : not available
VCEI exceptions         : not available

root at letux:~# uname -a
Linux letux 5.10.7-letux-ci20+ #4688 SMP PREEMPT Sat Jan 16 16:14:24 CET 2021 mips GNU/Linuxroot at letux:~# cat </dev/tcp/time.nist.gov/13 && sysbench --test=cpu run && cat </dev/tcp/time.nist.gov/13

59230 21-01-16 16:48:00 00 0 0 651.3 UTC(NIST) * 
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 10000


Test execution summary:
    total time:                          139.4414s
    total number of events:              10000
    total time taken by event execution: 139.4188
    per-request statistics:
         min:                                 13.90ms
         avg:                                 13.94ms
         max:                                 14.46ms
         approx.  95 percentile:              13.98ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   139.4188/0.00


59230 21-01-16 16:50:20 00 0 0 943.6 UTC(NIST) * 
root at letux:~# 


More information about the Letux-kernel mailing list