On 12/24/15, Konstantin Belousov <kostik...@gmail.com> wrote:
> 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.

Seem like the issue is affects the legacy boot mode, in UEFI mode the
system boots blazingly fast.
When I have more time, I try to figure out what's the problem behind this issue.

> A developer needs the real machine to diagnose the cause.
freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to