Thanks for the work you've done to get 8 cores working on the Odroid-XU4. Here is the output you asked of Andreas from my XU4 running the latest fedora kernel:
[root@myodroid-wireless ~]# uname -a
Linux myodroid-wireless 4.17.18-200.fc28.armv7hl #1 SMP Wed Aug 22 20:36:45 UTC 2018 armv7l armv7l armv7l GNU/Linux
[root@myodroid-wireless ~]#
[root@myodroid-wireless ~]# lsusb -t
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=r8152, 480M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/2p, 5000M
|__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/4p, 5000M
|__ Port 1: Dev 4, If 0, Class=Hub, Driver=hub/4p, 5000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/2p, 480M
|__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 5, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 2: Dev 6, If 0, Class=Hub, Driver=hub/4p, 12M
|__ Port 4: Dev 9, If 2, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 4: Dev 9, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 4: Dev 9, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 8, If 1, Class=Wireless, Driver=btusb, 12M
|__ Port 2: Dev 8, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 1: Dev 7, If 2, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 1: Dev 7, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 1: Dev 7, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 4, If 0, Class=Vendor Specific Class, Driver=rtl8192cu, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=exynos-ohci/3p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=exynos-ehci/3p, 480M
Also, here is some other output of interest:
[root@myodroid-wireless ~]# cpupower frequency-info
analyzing CPU 0:
driver: cpufreq-dt
CPUs which run at the same hardware frequency: 0 1 2 3
CPUs which need to have their frequency coordinated by software: 0 1 2 3
maximum transition latency: 154 us
hardware limits: 200 MHz - 1.30 GHz
available frequency steps: 200 MHz, 300 MHz, 400 MHz, 500 MHz, 600 MHz, 700 MHz, 800 MHz, 900 MHz, 1000 MHz, 1.10 GHz, 1.20 GHz, 1.30 GHz
available cpufreq governors: conservative userspace powersave ondemand performance schedutil
current policy: frequency should be within 200 MHz and 1.30 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency: 700 MHz (asserted by call to hardware)
[root@myodroid-wireless ~]# cpupower frequency-info --governors
analyzing CPU 0:
available cpufreq governors: conservative userspace powersave ondemand performance schedutil
[root@myodroid-wireless ~]# cpupower frequency-set --governor performance
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
[root@myodroid-wireless ~]# cpupower frequency-info
analyzing CPU 0:
driver: cpufreq-dt
CPUs which run at the same hardware frequency: 0 1 2 3
CPUs which need to have their frequency coordinated by software: 0 1 2 3
maximum transition latency: 154 us
hardware limits: 200 MHz - 1.30 GHz
available frequency steps: 200 MHz, 300 MHz, 400 MHz, 500 MHz, 600 MHz, 700 MHz, 800 MHz, 900 MHz, 1000 MHz, 1.10 GHz, 1.20 GHz, 1.30 GHz
available cpufreq governors: conservative userspace powersave ondemand performance schedutil
current policy: frequency should be within 200 MHz and 1.30 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency: 1.30 GHz (asserted by call to hardware)
[root@myodroid-wireless ~]# lscpu
Architecture: armv7l
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 2
Vendor ID: ARM
Model: 3
Model name: Cortex-A7
Stepping: r0p3
CPU max MHz: 1800.0000
CPU min MHz: 200.0000
BogoMIPS: 78.00
Flags: half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
[root@myodroid-wireless ~]# dmesg
[ 0.000000] Booting Linux on physical CPU 0x100
[ 0.000000] Linux version 4.17.18-200.fc28.armv7hl (mockbuild@buildvm-armv7-06.arm.fedoraproject.org) (gcc version 8.1.1 20180712 (Red Hat 8.1.1-5) (GCC)) #1 SMP Wed Aug 22 20:36:45 UTC 2018
[ 0.000000] CPU: ARMv7 Processor [410fc073] revision 3 (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: Hardkernel Odroid XU4
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] cma: Reserved 192 MiB at 0xb2800000
[ 0.000000] Samsung CPU ID: 0xe5422001
[ 0.000000] On node 0 totalpages: 518656
[ 0.000000] Normal zone: 1728 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 196608 pages, LIFO batch:31
[ 0.000000] HighMem zone: 322048 pages, LIFO batch:31
[ 0.000000] Running under secure firmware.
[ 0.000000] random: fast init done
[ 0.000000] percpu: Embedded 16 pages/cpu @(ptrval) s34572 r8192 d22772 u65536
[ 0.000000] pcpu-alloc: s34572 r8192 d22772 u65536 alloc=16*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [0] 4 [0] 5 [0] 6 [0] 7
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 516928
[ 0.000000] Kernel command line: ro rd.driver.pre=ledtrig-heartbeat,xhci-plat-hcd root=UUID=d4a4b86d-5e86-4bcb-b79c-2bde6831b7c5 cma=192MB cpuidle.off=1 LANG=en_US.UTF-8 no_bL_switcher
[ 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: 1822580K/2074624K available (8168K kernel code, 1328K rwdata, 3920K rodata, 2048K init, 505K bss, 55436K reserved, 196608K cma-reserved, 1091584K highmem)
[ 0.000000] Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.text : 0x(ptrval) - 0x(ptrval) (9161 kB)
.init : 0x(ptrval) - 0x(ptrval) (2048 kB)
.data : 0x(ptrval) - 0x(ptrval) (1329 kB)
.bss : 0x(ptrval) - 0x(ptrval) ( 506 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[ 0.000000] ftrace: allocating 37441 entries in 74 pages
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU restricting CPUs from NR_CPUS=32 to nr_cpu_ids=8.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=8
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] GIC physical location is 0x10481000
[ 0.000000] Switching to timer-based delay loop, resolution 41ns
[ 0.000000] clocksource: mct-frc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000007] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000033] genirq: irq_chip COMBINER did not update eff. affinity mask of irq 49
[ 0.006905] Console: colour dummy device 80x30
[ 0.007535] console [tty0] enabled
[ 0.007603] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=24000)
[ 0.007640] pid_max: default: 32768 minimum: 301
[ 0.007903] Security Framework initialized
[ 0.007927] Yama: becoming mindful.
[ 0.007994] SELinux: Initializing.
[ 0.008199] SELinux: Starting in permissive mode
[ 0.008297] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.008335] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.009575] CPU: Testing write buffer coherency: ok
[ 0.010559] CPU0: thread -1, cpu 0, socket 1, mpidr 80000100
[ 0.011506] Setting up static identity map for 0x40300000 - 0x403000a0
[ 0.012297] ARM CCI driver probed
[ 0.012546] Exynos MCPM support installed
[ 0.015526] Hierarchical SRCU implementation.
[ 0.022460] EFI services will not be available.
[ 0.023397] smp: Bringing up secondary CPUs ...
[ 0.024680] CPU1: thread -1, cpu 1, socket 1, mpidr 80000101
[ 0.026094] CPU2: thread -1, cpu 2, socket 1, mpidr 80000102
[ 0.027452] CPU3: thread -1, cpu 3, socket 1, mpidr 80000103
[ 0.028759] CPU4: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.030181] CPU5: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.031561] CPU6: thread -1, cpu 2, socket 0, mpidr 80000002
[ 0.032919] CPU7: thread -1, cpu 3, socket 0, mpidr 80000003
[ 0.033125] smp: Brought up 1 node, 8 CPUs
[ 0.033262] SMP: Total of 8 processors activated (384.00 BogoMIPS).
[ 0.033284] CPU: WARNING: CPU(s) started in wrong/inconsistent modes (primary CPU mode 0x1a)
[ 0.033309] CPU: This may indicate a broken bootloader or firmware.
Note the following:
- Although 8 cores are recognized, the "lscpu" command (and the "dmesg" snippet) recognizes only the A7 processor.
- The default cpu governor is "ondemand" providing a cpu frequency of 700 MHz for all cores per the output of the first "cpupower frequency-info" above.
- The cpu governor and frequency can be changed to "performance" and 1300 MHz, respectively by using the command "cpupower frequency-set --governor performance", but this is not persistent between reboots. To make it persistent between reboots follow this procedure: https://ask.fedoraproject.org/en/question/39964/how-to-permanently-set-cpu-power-management-to-the-powersave-governor
- Note the last two lines in the "dmesg" command. There may be additional code required in the bootloader or firmware to recognize the A15 processor correctly. Does anyone have any ideas here?
Stewart
On 08/27/2018 01:41 AM, Vince Geze wrote:
-----Original Message----- From: Andreas Reschke [mailto:arm_ml@rirasoft.de] Sent: Saturday, August 25, 2018 11:50 AM To: Vince Geze <vincegeze@gmail.com> Cc: arm@lists.fedoraproject.org Subject: Re: [fedora-arm] Re: F28 on odroid XU4 Am 24.08.2018 um 15:15 schrieb Vince Geze:-----Original Message----- From: arm_ml@rirasoft.de [mailto:arm_ml@rirasoft.de] Sent: Friday, August 24, 2018 2:45 PM To: Vince Geze <vincegeze@gmail.com> Cc: arm@lists.fedoraproject.org Subject: Re: [fedora-arm] Re: F28 on odroid XU4 Am 2018-08-24 14:37, schrieb Vince Geze:-----Original Message----- From: arm_ml@rirasoft.de [mailto:arm_ml@rirasoft.de] Sent: Friday, August 24, 2018 2:27 PM To: Vince Geze <vincegeze@gmail.com> Cc: arm@lists.fedoraproject.org Subject: Re: [fedora-arm] Re: F28 on odroid XU4 Am 2018-08-24 14:17, schrieb Vince Geze:-----Original Message----- From: arm_ml@rirasoft.de [mailto:arm_ml@rirasoft.de] Sent: Friday, August 24, 2018 1:39 PM To: Vince Geze <vincegeze@gmail.com> Cc: arm@lists.fedoraproject.org Subject: Re: [fedora-arm] Re: F28 on odroid XU4 Am 2018-08-24 12:09, schrieb Vince Geze: --snip--Well, after countless reboots it seems to be even more simple. - USB3: preloading xhci-plat-hcd, which already is in the initramfs, is sufficient to get proper USB3 operation and the r8152 at full speed as well - CPU HMP: this one I already knew was linked to the CONFIG_BL_SWITCHER. On [1] it is mentioned there are both sysfs and kernel boot options to control this behavior. The sysfs path exists and with lscpu you can see all 8 cores being put online. The kernel boot command however turned out to be incorrect, but after some digging I found you only need "no_bL_switcher" as bootoption.Since the board will be used headless, I also enabled the blinking led by preloading ledtrig-heartbeat, but this needs to be included in a /etc/dracut.conf.d/ conf file with'add_drivers+="ledtrig-heartbeat "'. The blinking frequency also gives an indicationofthe load.The final boot line now looks like this: append ro rd.driver.pre=ledtrig-heartbeat,xhci-plat-hcd root=UUID=your_UUID cpuidle.off=1 no_bL_switcher console=tty1 console=ttySAC2,115200n8 Result: - systematically correct detection of USB3 - performance improvement by enabling all cpus - indication whether the system is alive or not - no need for recompiling kernels, only boot time options and an optional dracut inclusion Best regards, Vince [1] https://wiki.linaro.org/projects/big.LITTLE.MP/Big.Little.Switch er/ Doc s/porting-guide_______________________________________________arm mailing list -- arm@lists.fedoraproject.org To unsubscribe send an email to arm-leave@lists.fedoraproject.org Fedora Code ofConduct:https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives:https://lists.fedoraproject.org/archives/list/arm@lists.fedoraproject.org/message/Y7EMT5B5HYSV3SX533YZZHOOEOMRHNFZ/Hello Vince, I must say thank you ! With your work I can enable all 8 CPUs on my Odroid HC1. lscpu before: [root@odroidh1 ~]# lscpu Architektur: armv7l Byte-Reihenfolge: Little Endian CPU(s): 8 Liste der Online-CPU(s): 0-3 Liste der Offline-CPU(s): 4-7 Thread(s) pro Kern: 1 Kern(e) pro Socket: 4 Sockel: 1 lscpu after: Architektur: armv7l Byte-Reihenfolge: Little Endian CPU(s): 8 Liste der Online-CPU(s): 0-7 Thread(s) pro Kern: 1 Kern(e) pro Socket: 4 Sockel: 2 Greetings AndreasHi Andreas, Glad to hear it's working on your side as well. Could you also check the number at the end of the r8152 line in lsusb -t with the default boot line without preloads? Is it 480M or 5000M? Best regards, VinceSystem without your modifikation: [root@odroidh1 ~]# lsusb -t /: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M /: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=r8152,480M/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=exynos-ehci/3p, 480M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=exynos-ohci/3p, 12M [root@odroidh1 ~]# System with your modifikation: [root@odroidh2 ~]# lsusb -t /: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M /: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=r8152,480M/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=exynos-ehci/3p, 480M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=exynos-ohci/3p, 12M [root@odroidh2 ~]# Systems are identical: Odroid HC1 with update Fedora 28 AndreasHi Andreas, Looks like the storage is working at USB3 speed, but the Ethernet at USB2. Have you included the xhci preload at the modified boot line? Best regards, VinceYes of course: [root@odroidh2 ~]# cat /boot/extlinux/extlinux.conf # extlinux.conf generated by appliance-creator ui menu.c32 menu autoboot Welcome to Fedora-Minimal-armhfp-28-1.1. Automatic boot in # second{,s}. Press a key for options. menu title Fedora-Minimal-armhfp-28-1.1 Boot Options. menu hidden timeout 20 totaltimeout 600 default=Fedora (4.17.14-202.fc28.armv7hl) 28 (Twenty Eight) label Fedora (4.17.14-202.fc28.armv7hl) 28 (Twenty Eight) kernel /vmlinuz-4.17.14-202.fc28.armv7hl append ro rd.driver.pre=ledtrig-heartbeat,xhci-plat-hcd root=UUID=cf0c90a1-25e4-429b-a77e-b9b4f3802258 cpuidle.off=1 LANG=de_DE.UTF-8 no_bL_switcher console=tty1 console=ttySAC2,1152 00n8 fdtdir /dtb-4.17.14-202.fc28.armv7hl/ initrd /initramfs-4.17.14-202.fc28.armv7hl.img [root@odroidh2 ~]# I've edit this line with the older kernel before I updated the system this kernel. AndreasHi Andreas, Have you removed power completely between reboots, meaningphysicallyunplug power at board side for 5-10 seconds such that all leds are dimmed? I have the impression not every component is fully or correctly reset if you just do an init 6. It would be quite interesting to know if that could be the issue with the r8152 driver, since, except for the heartbeat, adding those options to the original 4.16 kernel of the F28 image without any dracut initramfs regeneration wassufficient on my device.Best regards, VinceHello Vince, after newest kernel update and poweroff for 1 minute: [root@odroidh2 ~]# lsusb -t /: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M /: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=exynos-ehci/3p, 480M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=exynos-ohci/3p, 12M [root@odroidh2 ~]# uname -a Linux odroidh2.reschke.lan 4.17.17-200.fc28.armv7hl #1 SMP Mon Aug 20 17:31:32 UTC 2018 armv7l armv7l armv7l GNU/Linux [root@odroidh2 ~]# Greetings AndreasHi Andreas, Thanks for the feedback, looks like both storage and Ethernet are connected as USB3 now. Out of curiosity, are you running from SD or eMMC? I'm still using SD for testing, but once I got everything covered I'd like to switch to eMMC. Best regards, Vince _______________________________________________ arm mailing list -- arm@lists.fedoraproject.org To unsubscribe send an email to arm-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/arm@lists.fedoraproject.org
No comments:
Post a Comment