Re: [U-Boot] [RFC] dm: tegra: boot time regression
On Mon, 2014-11-17 at 06:53 +, Simon Glass wrote: Did this get resolved? No, unfortunately not. Do you have an update please? I just retested this and it is still the case all with latest mainline stuff both on the U-Boot as well as the Linux kernel side. Another issue I noticed is that somehow current U-Boot DM serial stuff seems to double space everything?!? Well, anyway. Here the output of straight mainline: U-Boot SPL 2015.01-rc1-00145-gf196044 (Nov 20 2014 - 09:04:15) U-Boot 2015.01-rc1-00145-gf196044 (Nov 20 2014 - 09:04:15) TEGRA30 Board: Toradex Colibri T30 I2C: ready DRAM: 1 GiB MMC: Tegra SD/MMC: 0, Tegra SD/MMC: 1 In:serial Out: serial Err: serial Net: Net Initialization Skipped No ethernet found. Hit any key to stop autoboot: 2 1 0 reading tegra30-colibri-eval-v3.dtb 24225 bytes read in 16 ms (1.4 MiB/s) reading uImage 4717016 bytes read in 127 ms (35.4 MiB/s) ## Booting kernel from Legacy Image at 8100 ... Image Name: Linux-3.18.0-rc5 Image Type: ARM Linux Kernel Image (uncompressed) Data Size:4716952 Bytes = 4.5 MiB Load Address: 82008000 Entry Point: 82008000 Verifying Checksum ... OK ## Flattened Device Tree blob at 8200 Booting using the fdt blob at 0x8200 Loading Kernel Image ... OK Using Device Tree in place at 8200, end 82008ea0 Starting kernel ... [0.00] Booting Linux on physical CPU 0x0 [0.00] Initializing cgroup subsys cpu [0.00] Initializing cgroup subsys cpuacct [0.00] Linux version 3.18.0-rc5 (zim@localhost.localdomain) (gcc version 4.7.2 20120910 (prerelease) (crosstool-NG linaro-1.13.1-2012.09-20120921 - Linaro GCC 2012.09) ) #1 SMP PREEMPT Thu Nov 20 09:14:47 CET 2014 [0.00] CPU: ARMv7 Processor [412fc099] revision 9 (ARMv7), cr=10c5387d [0.00] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [0.00] Machine model: Toradex Colibri T30 on Colibri Evaluation Board [0.00] cma: Reserved 64 MiB at 0xbb40 [0.00] Memory policy: Data cache writealloc [0.00] PERCPU: Embedded 10 pages/cpu @f67d2000 s8896 r8192 d23872 u40960 [0.00] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 257312 [0.00] Kernel command line: core_edp_mv=1300 usb_high_speed=1 ip=off root=/dev/mmcblk0p2 rw,noatime rootfstype=ext3 rootwait asix_mac=00:14:2d:28:39:fe consoleblank=0 no_console_suspend=1 console=tty1 console=ttyS0,115200n8 debug_uartport=lsport,0 vmalloc=128M mem=1012M@2048M fbmem=12M@3060M video=tegrafb0:640x480-16@60 [0.00] PID hash table entries: 4096 (order: 2, 16384 bytes) [0.00] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) [0.00] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) [0.00] Memory: 951940K/1036288K available (6447K kernel code, 341K rwdata, 2160K rodata, 292K init, 362K bss, 84348K reserved, 69632K highmem) [0.00] Virtual kernel memory layout: [0.00] vector : 0x - 0x1000 ( 4 kB) [0.00] fixmap : 0xffc0 - 0xffe0 (2048 kB) [0.00] vmalloc : 0xf780 - 0xff00 ( 120 MB) [0.00] lowmem : 0xc000 - 0xf700 ( 880 MB) [0.00] pkmap : 0xbfe0 - 0xc000 ( 2 MB) [0.00] modules : 0xbf00 - 0xbfe0 ( 14 MB) [0.00] .text : 0xc0008000 - 0xc0870318 (8609 kB) [0.00] .init : 0xc0871000 - 0xc08ba000 ( 292 kB) [0.00] .data : 0xc08ba000 - 0xc090f7e0 ( 342 kB) [0.00].bss : 0xc090f7e0 - 0xc096a15c ( 363 kB) [0.00] Preemptible hierarchical RCU implementation. [0.00] NR_IRQS:16 nr_irqs:16 16 [0.00] L2C: platform modifies aux control register: 0x0208 - 0x3e480001 [0.00] L2C: DT/platform modifies aux control register: 0x0208 - 0x3e480001 [0.00] L2C-310 erratum 769419 enabled [0.00] L2C-310 enabling early BRESP for Cortex-A9 [0.00] L2C-310: enabling full line of zeros but not enabled in Cortex-A9 [0.00] L2C-310 ID prefetch enabled, offset 1 lines [0.00] L2C-310 dynamic clock gating enabled, standby mode enabled [0.00] L2C-310 cache controller enabled, 8 ways, 1024 kB [0.00] L2C-310: CACHE_ID 0x41c7, AUX_CTRL 0x7e480001 [0.17] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 2147483648000ns [0.54] Switching to timer-based delay loop, resolution 1000ns [0.001149] Console: colour dummy device 80x30 [0.001865] console [tty1] enabled [0.001906] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=1) [0.001949] pid_max: default: 32768 minimum: 301 [0.002649] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes) [0.002684] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes) [
Re: [U-Boot] [RFC] dm: tegra: boot time regression
Hi Marcel, On 20 November 2014 11:29, Marcel Ziswiler mar...@ziswiler.com wrote: On Mon, 2014-11-17 at 06:53 +, Simon Glass wrote: Did this get resolved? No, unfortunately not. Do you have an update please? I just retested this and it is still the case all with latest mainline stuff both on the U-Boot as well as the Linux kernel side. Another issue I noticed is that somehow current U-Boot DM serial stuff seems to double space everything?!? Well, anyway. Here the output of straight mainline: I don't see the double-space problem. Can you debug it? The only place that converts \n into \r should be in serial-uclass.c. U-Boot SPL 2015.01-rc1-00145-gf196044 (Nov 20 2014 - 09:04:15) U-Boot 2015.01-rc1-00145-gf196044 (Nov 20 2014 - 09:04:15) TEGRA30 Board: Toradex Colibri T30 I2C: ready DRAM: 1 GiB MMC: Tegra SD/MMC: 0, Tegra SD/MMC: 1 In:serial Out: serial Err: serial Net: Net Initialization Skipped No ethernet found. Hit any key to stop autoboot: 2 1 0 reading tegra30-colibri-eval-v3.dtb 24225 bytes read in 16 ms (1.4 MiB/s) reading uImage 4717016 bytes read in 127 ms (35.4 MiB/s) ## Booting kernel from Legacy Image at 8100 ... Image Name: Linux-3.18.0-rc5 Image Type: ARM Linux Kernel Image (uncompressed) Data Size:4716952 Bytes = 4.5 MiB Load Address: 82008000 Entry Point: 82008000 Verifying Checksum ... OK ## Flattened Device Tree blob at 8200 Booting using the fdt blob at 0x8200 Loading Kernel Image ... OK Using Device Tree in place at 8200, end 82008ea0 Starting kernel ... [0.00] Booting Linux on physical CPU 0x0 [snip] [0.525849] console [ttyS0] disabled [0.525956] of_serial 70006000.serial: ttyS0 at MMIO 0x70006000 (irq = 68, base_baud = 2550) is a Tegra [2.157476] console [ttyS0] enabled [2.168642] serial-tegra 70006040.serial: ttyTHS1 at MMIO 0x70006040 (irq = 69, base_baud = 0) is a TEGRA_UART [2.185693] serial-tegra 70006300.serial: ttyTHS3 at MMIO 0x70006300 (irq = 122, base_baud = 0) is a TEGRA_UART [2.203062] [drm] Initialized drm 1.1.0 20060810 [2.213877] tegra-dc 5420.dc: failed to probe RGB output: -517 [2.225972] platform 5420.dc: Driver tegra-dc requests probe deferral [snip] And with U-Boot commit 858530a8c0a7ce7e573e513934804a00d6676813 reverted: U-Boot SPL 2015.01-rc1-00146-g715b59d (Nov 20 2014 - 11:18:59) [snip] Starting kernel ... [0.00] Booting Linux on physical CPU 0x0 [snip] [0.520098] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [0.525853] console [ttyS0] disabled [0.525961] of_serial 70006000.serial: ttyS0 at MMIO 0x70006000 (irq = 68, base_baud = 2550) is a Tegra [1.339391] console [ttyS0] enabled [1.344752] serial-tegra 70006040.serial: ttyTHS1 at MMIO 0x70006040 (irq = 69, base_baud = 0) is a TEGRA_UART [1.355956] serial-tegra 70006300.serial: ttyTHS3 at MMIO 0x70006300 (irq = 122, base_baud = 0) is a TEGRA_UART [1.367491] [drm] Initialized drm 1.1.0 20060810 [snip] It seems to take a lot longer to init the serial consoles in the first case. As an experiment, can you try removing the serial nodes (except uart_a which I think you are using) from the device tree file (tegra30.dtsi)? Linux does some very strange things on serial init - see my Linux commit 7735983. Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC] dm: tegra: boot time regression
Hi, On 21 October 2014 17:19, Simon Glass s...@chromium.org wrote: Hi Marcel, On 21 October 2014 08:37, Marcel Ziswiler mar...@ziswiler.com wrote: Migrating our BSPs towards mainline U-Boot I noticed it suddenly booting slower. With mainline Linux I noticed about a 1 to 2 second increase while booting downstream L4T takes 10 to 15 seconds longer! Git bisecting it revealed the following commit to be at odds: 858530a8c0a7ce7e573e513934804a00d6676813 dm: tegra: Enable driver model for serial Switching back to not using the DM driver for serial brings it back to booting much faster. However looking closely at the serial stuff and its accompanying settings I could not quite pinpoint why exactly any of this would make the Linux kernel suddenly boot slower. Has anybody noticed similar issues? No I haven't but I have not really tested it. I wonder how U-Boot is affecting Linux boot time? Do you have a trace of the kernel boot? Did this get resolved? Do you have an update please? Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC] dm: tegra: boot time regression
Migrating our BSPs towards mainline U-Boot I noticed it suddenly booting slower. With mainline Linux I noticed about a 1 to 2 second increase while booting downstream L4T takes 10 to 15 seconds longer! Git bisecting it revealed the following commit to be at odds: 858530a8c0a7ce7e573e513934804a00d6676813 dm: tegra: Enable driver model for serial Switching back to not using the DM driver for serial brings it back to booting much faster. However looking closely at the serial stuff and its accompanying settings I could not quite pinpoint why exactly any of this would make the Linux kernel suddenly boot slower. Has anybody noticed similar issues? ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC] dm: tegra: boot time regression
Hi Marcel, On 21 October 2014 08:37, Marcel Ziswiler mar...@ziswiler.com wrote: Migrating our BSPs towards mainline U-Boot I noticed it suddenly booting slower. With mainline Linux I noticed about a 1 to 2 second increase while booting downstream L4T takes 10 to 15 seconds longer! Git bisecting it revealed the following commit to be at odds: 858530a8c0a7ce7e573e513934804a00d6676813 dm: tegra: Enable driver model for serial Switching back to not using the DM driver for serial brings it back to booting much faster. However looking closely at the serial stuff and its accompanying settings I could not quite pinpoint why exactly any of this would make the Linux kernel suddenly boot slower. Has anybody noticed similar issues? No I haven't but I have not really tested it. I wonder how U-Boot is affecting Linux boot time? Do you have a trace of the kernel boot? Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot