Messages in this thread | | | Date | Fri, 28 Jan 2022 12:06:15 +0000 | From | Catalin Marinas <> | Subject | Re: [arm64] kernel boot slowdown in v5.10.19 -> v5.10.42 update |
| |
On Mon, Jan 24, 2022 at 03:03:48PM -0800, Vijay Balakrishna wrote: > We noticed 150ms kernel boot slowdown back in June, 2021, when moving from > v5.10.19 to v5.10.42. This on a 8GB SoC. Only recently we investigated > this issue and found the regression is introduced by a change in map_mem() > (paging_init() -> map_mem() -> __map_memblock(), in particular "map all the > memory banks" for loop) by patch > > 2687275a5843d1089687f08fc64eb3f3b026a169 > arm64: Force NO_BLOCK_MAPPINGS if crashkernel reservation is required > > above is a follow up to > > 0a30c53573b07d5561457e41fb0ab046cd857da5 > arm64: mm: Move reserve_crashkernel() into mem_init()) > > which deferred crashkernel reservation into mem_init(). > > The ~150ms slowdown disappears on booting without "crashkernel=.." on kernel > command-line.
Is CONFIG_RODATA_FULL_DEFAULT_ENABLED set in your config file? It may cause the same slowdown. I suspect it's because we end up mapping the RAM at the page granularity so more loops and slightly higher TLB pressure. Not sure we can do much about.
-- Catalin
| |