freebsd-dev/sys/boot/i386
Andrey V. Elsukov f9cd8b07a4 Almost each time when loader opens a file, this leads to calling
disk_open(). Very often this is called several times for one file.
This leads to reading partition table metadata for each call. To
reduce the number of disk I/O we have a simple block cache, but it
is very dumb and more than half of I/O operations related to reading
metadata, misses this cache.

Introduce new cache layer to resolve this problem. It is independent
and doesn't need initialization like bcache, and will work by default
for all loaders which use the new DISK API. A successful disk_open()
call to each new disk or partition produces new entry in the cache.
Even more, when disk was already open, now opening of any nested
partitions does not require reading top level partition table.
So, if without this cache, partition table metadata was read around
20-50 times during boot, now it reads only once. This affects the booting
from GPT and MBR from the UFS.
2012-09-29 16:47:56 +00:00
..
boot0
boot0ext
boot0sio
boot2 Remove unnecessary initializations. The BSS of boot2 is in fact 2012-06-01 15:48:24 +00:00
btx
cdboot Fix sys/boot/i386/cdboot/cdboot.S compilation with clang after r235219. 2012-05-11 18:07:23 +00:00
common
efi
gptboot Use 32-bit ufs_ino_t instead of ino_t to keep boot2 small and prevent 2012-05-25 09:36:39 +00:00
gptzfsboot
kgzldr
libfirewire
libi386 Almost each time when loader opens a file, this leads to calling 2012-09-29 16:47:56 +00:00
loader Disable splitfs support, since we aren't support floppies for a long 2012-09-29 15:08:55 +00:00
mbr
pmbr When GPT signature is invalid in the primary GPT header, then try to 2012-08-05 12:57:38 +00:00
pxeldr cdboot, pxeldr: make use of bootargs.h instead of redefining flag constants 2012-05-10 09:47:04 +00:00
zfsboot zfsboot/zfsloader: support accessing filesystems within a pool 2012-05-12 09:03:30 +00:00
zfsloader
Makefile
Makefile.inc