Add subr_alist.c. This is a bitmap allocator that works very similarly to
authorMatthew Dillon <dillon@dragonflybsd.org>
Mon, 9 Apr 2007 17:10:00 +0000 (17:10 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Mon, 9 Apr 2007 17:10:00 +0000 (17:10 +0000)
commit3ae3b454f132f9f018306cd3d50c6210b8fc29c2
treec4a99b728e91ea9c9890195202a08f8afccfbf5f
parent64cf9fea37e2e87a300df3005097aafe4d560cb8
Add subr_alist.c.  This is a bitmap allocator that works very similarly to
subr_blist.c (swap allocator), but with added considerations.

1. All allocations must be in powers of 2.
2. All allocations will be aligned to the allocation size.
3. No allocation size limit (blist was limited to 32 blocks per allocation)

Like the blist allocator, the alist is arranged in a linear array suitable
for direct mapping onto a storage medium.  A dataspace of 2^31-1 blocks may
be represented.  Approximately 3 bits of kernel memory is used per block.

This allocator will be used by HAMMER and ANVIL (filesystem and filesystem
storage manager), and by syslink route nodes to chop out individual addresses
and subnets.  We may also use this allocator to improve the allocation of
physical memory.
sys/conf/files
sys/kern/subr_alist.c [new file with mode: 0644]
sys/sys/alist.h [new file with mode: 0644]