Open sunvich opened 7 years ago
By the way, I runed 4.9 kernel on orangepi-pc board.
3.4 kernel will run all cores well on my board.
I hope someone working on the project could help me. Did you guys test running 4 cores on 4.9 kernel? If not, maybe I can offer the debug info to help you guys resolving this problem. @orangepi-xunlong @cbbc
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.9.0-rc1 (root@sunvich) (gcc version 4.6.3 20120201 (prerelease) (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) ) #37 SMP Tue Mar 21 18:55:18 CST 2017
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt:Machine model: Xunlong Orange Pi PC
[ 0.000000] OF: fdt:Ignoring memory range 0x40000000 - 0x48000000
[ 0.000000] cma: Reserved 64 MiB at 0x7c000000
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] On node 0 totalpages: 229376
[ 0.000000] free_area_init_node: node 0, pgdat c093d5c0, node_mem_map ef8fa000
[ 0.000000] Normal zone: 1536 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 196608 pages, LIFO batch:31
[ 0.000000] HighMem zone: 32768 pages, LIFO batch:7
[ 0.000000] percpu: Embedded 14 pages/cpu @ef8ae000 s25024 r8192 d24128 u57344
[ 0.000000] pcpu-alloc: s25024 r8192 d24128 u57344 alloc=14*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 227840
[ 0.000000] Kernel command line: earlyprintk=ttyS0,115200 loglevel=8 root=/dev/mmcblk0p2 rootwait rootfstype=ext4 video=HDMI-A-1:1920x1080-32@60 console=tty1 console=ttyS0,115200
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 834940K/917504K available (5120K kernel code, 248K rwdata, 1092K rodata, 1024K init, 267K bss, 17028K reserved, 65536K cma-reserved, 65536K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0600000 (6112 kB)
[ 0.000000] .init : 0xc0800000 - 0xc0900000 (1024 kB)
[ 0.000000] .data : 0xc0900000 - 0xc093e1c0 ( 249 kB)
[ 0.000000] .bss : 0xc0940000 - 0xc0982f88 ( 268 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 32.
[ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=4
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] arm_arch_timer: Architected cp15 timer(s) running at 24.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000013] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000037] Switching to timer-based delay loop, resolution 41ns
[ 0.000390] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000936] Console: colour dummy device 80x30
[ 0.002597] console [tty1] enabled
[ 0.002673] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.002771] pid_max: default: 32768 minimum: 301
[ 0.002976] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.003038] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.004289] CPU: Testing write buffer coherency: ok
[ 0.004846] CPU0: update cpu_capacity 1024
[ 0.004907] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.005500] Setting up static identity map for 0x48100000 - 0x48100058
[ 0.007523] SMP: cpu[0]:
[ 0.007551] online
[ 0.007598] SMP: cpu[1]:
[ 5543.815704] CPU1: update cpu_capacity 1024
[ 5543.815716] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.020259] offline, try up ret 0
[ 0.020397] SMP: cpu[2]:
[ 2111.261965] CPU2: update cpu_capacity 1024
[ 2111.261976] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[ 0.032576] offline, try up ret 0
[ 0.032712] SMP: cpu[3]:
[ 6932.165741] CPU3: update cpu_capacity 1024
[ 6932.165752] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[ 0.044899] offline, try up ret 0
[ 0.045035] Brought up 4 CPUs
[ 0.045084] SMP: Total of 4 processors activated (192.00 BogoMIPS).
[ 0.045134] CPU: All CPU(s) started in SVC mode.
[ 0.046855] devtmpfs: initialized
[ 0.057922] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.058462] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.062876] pinctrl core: initialized pinctrl subsystem
[ 0.064492] NET: Registered protocol family 16
[ 0.066400] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.068762] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.068851] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.122321] reg-fixed-voltage usb0-vbus: could not find pctldev for node /soc/pinctrl@01f02c00/usb0_vbus_pin@0, deferring probe
[ 0.124356] SCSI subsystem initialized
[ 0.124654] usbcore: registered new interface driver usbfs
[ 0.124824] usbcore: registered new interface driver hub
[ 0.124986] usbcore: registered new device driver usb
[ 0.127401] clocksource: Switched to clocksource arch_sys_counter
[ 2111.362081] INFO: rcu_sched self-detected stall on CPU
[ 2111.362162] 2-...: (1 ticks this GP) idle=059/1/0 softirq=3/3 fqs=0
[ 2111.362213] (t=4811 jiffies g=-298 c=-299 q=0)
[ 2111.362283] rcu_sched kthread starved for 4811 jiffies! g4294966998 c4294966997 f0x0 RCU_GP_WAIT_FQS(3) ->state=0x1
[ 2111.362366] rcu_sched S c0525338 0 7 2 0x00000000
[ 2111.362485] [
Hi, I configured the sun8i-h3.dts by adding the text enable-method = "allwinner,sun8i-h3" in the node "cpus", and modifed the platsmp.c to enable 4 cores. But after starting kernel, it seems all cores stalled. I think this a big problem that my bord can't run with 4 cores. Oops!