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

2024-05-18 Thread Warner Losh
On Sat, May 18, 2024, 10:03 AM Colin Percival  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
>


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

2024-05-18 Thread Colin Percival

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.

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



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

2024-05-18 Thread Alan Somers
The branch main has been updated by asomers:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=3bb5428ad643e38dd755c8d66c8ac2ae8f7575b5

commit 3bb5428ad643e38dd755c8d66c8ac2ae8f7575b5
Author: Alan Somers 
AuthorDate: 2024-05-18 14:25:10 +
Commit: Alan Somers 
CommitDate: 2024-05-18 15:51:15 +

rc.conf.5: remove obsolete advice about kld_list

Loading modules via kld_list is no longer substantially faster than via
loader.conf.

[skip ci]

MFC after:  2 weeks
Reviewed by:imp
Differential Revision: https://reviews.freebsd.org/D45242
---
 share/man/man5/rc.conf.5 | 6 +-
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5
index 68d8dade2c6d..51a48341be60 100644
--- a/share/man/man5/rc.conf.5
+++ b/share/man/man5/rc.conf.5
@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd May 4, 2024
+.Dd May 18, 2024
 .Dt RC.CONF 5
 .Os
 .Sh NAME
@@ -334,10 +334,6 @@ A whitespace-separated list of kernel modules to load 
right after
 the local disks are mounted, without any
 .Pa .ko
 extension or path.
-Loading modules at this point in the boot process is
-much faster than doing it via
-.Pa /boot/loader.conf
-for those modules not necessary for mounting local disks.
 .It Va kldxref_enable
 .Pq Vt bool
 Set to