On Thu, Dec 24, 2015 at 08:29:20AM -0700, Ian Lepore wrote: > We had exactly this symptom -- long delay with spincursor before > loading the kernel -- on arm systems when we first enabled forth in > loader. The problem turned out to be the fact that loader was running > with instruction and data caches disabled, and it took about 90-100 > seconds to parse the 547 lines of text (almost all useless) in > /boot/defaults/loader.conf. We stripped that file down to the dozen or > so lines that actually needed to be there and booting became much > faster. Eventually we got the caches enabled in the prior-stage > bootloader and it became really fast.
It is highly unlikely that caches are the source of the slowness. On x86, we rely on the firmware (BIOS or EFI) to properly configure both DRAM controllers and caches. More, Intel considers the corresponding controllers configuration recipes as highly secret and, even for BIOS vendors, Intel provides the binary blob of code which does the config magic, instead of the documentation. That said, loader runs in the unpaged protected mode but reflects BIOS calls into the real mode. Quite possible, either the real mode is slow on SkyLakes, or even more possible, the switch between real and protected mode is slow, or the protected mode without paging enabled is slow. Or might be the PCH lacks the ISA timer. A developer needs the real machine to diagnose the cause. _______________________________________________ email@example.com mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"