HardenedBSD/sys/boot/i386/libi386
Mike Smith af1f6e0673 Implement a simple LRU block cache. By default this is initialised to 16k,
and will bypass transfers for more than 8k.  Blocks are invalidated after
2 seconds, so removable media should not confuse the cache.

The 8k threshold is a compromise; all UFS transfers performed by
libstand are 8k or less, so large file reads thrash the cache.
However many filesystem metadata operations are also performed using
8k blocks, so using a lower threshold gives poor performance.

Those of you with an eye for cache algorithms are welcome to tell me
how badly this one sucks; you can start with the 'bcachestats' command
which will print the contents of the cache and access statistics.
1998-11-02 23:28:11 +00:00
..
aout_freebsd.c
biosdisk.c Implement a simple LRU block cache. By default this is initialised to 16k, 1998-11-02 23:28:11 +00:00
biosmem.c
biospci.c PnP enumerator using the PCI BIOS. This is needlessly complex due to the 1998-10-23 22:29:08 +00:00
biospnp.c Remove a debugging copy of offsetof() that snuck in. 1998-10-23 22:30:52 +00:00
bootinfo32.c
bootinfo64.c
bootinfo.c
comconsole.c
devicename.c
elf32_freebsd.c
elf64_freebsd.c
elf_freebsd.c
gatea20.c
i386_copy.c
i386_module.c
libi386.h
Makefile PnP enumerator using the PCI BIOS. This is needlessly complex due to the 1998-10-23 22:29:08 +00:00
pread.c
time.c
vidconsole.c - Add a new command 'lsdev' to list devices which might be likely to host 1998-10-31 02:53:12 +00:00