Re: git: 3bb5428ad643 - main - rc.conf.5: remove obsolete advice about kld_list

From: Warner Losh <imp_at_bsdimp.com>
Date: Sat, 18 May 2024 16:37:23 UTC
On Sat, May 18, 2024, 10:03 AM Colin Percival <cperciva@tarsnap.com> wrote:

> On 5/18/24 08:51, Alan Somers wrote:
> > commit 3bb5428ad643e38dd755c8d66c8ac2ae8f7575b5
> >
> >      rc.conf.5: remove obsolete advice about kld_list
> >
> >      Loading modules via kld_list is no longer substantially faster than
> via
> >      loader.conf.
> Where did you benchmark this?  I can believe that performance is similar
> using UEFI, but on systems booting with BIOS doing I/O from the loader is
> very slow because the 20-bit address space forces us to use small I/Os.
>

The performance problem was there was no buffer cache in the boot loader at
all. BIOS is still a little slower, but  ot that much slower on anything
made in the last decade....

It used to be like 10-20s faster. Now it's less than a second, even for
BIOS booting. And UEFI is about the same. The block cache is responsible
for most of this. And BIOS doesn't matter so much these days: it is still
in use, but few people use it and the IO speed when they do is DMA speeds
not REPS INB speeds.

Plus it causes some memory fragmentation and there are subtle bugs with it
(like kld_list="uhid ums" working but kld_list="ums uhid" failing).

Warner

-- 
> Colin Percival
> FreeBSD Release Engineering Lead & EC2 platform maintainer
> Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid
>