70f20a1217
virtual memory reservation and a private pool of memory pages -- by a scheme based on memory pools. This allows better utilization of memory because buffers can now be allocated with a granularity finer than the system's native page size (useful for filesystems with e.g. 1k or 2k fragment sizes). It also avoids fragmentation of virtual to physical memory mappings (due to the former fixed virtual address reservation) resulting in better utilization of MMU resources on some platforms. Finally, the scheme is more flexible by allowing run-time decisions on the amount of memory to be used for buffers. On the other hand, the effectiveness of the LRU queue for buffer recycling may be somewhat reduced compared to the traditional method since, due to the nature of the pool based memory allocation, the actual least recently used buffer may release its memory to a pool different from the one needed by a newly allocated buffer. However, this effect will kick in only if the system is under memory pressure. |
||
---|---|---|
.. | ||
ext2fs_alloc.c | ||
ext2fs_balloc.c | ||
ext2fs_bmap.c | ||
ext2fs_bswap.c | ||
ext2fs_dinode.h | ||
ext2fs_dir.h | ||
ext2fs_extern.h | ||
ext2fs_inode.c | ||
ext2fs_lookup.c | ||
ext2fs_readwrite.c | ||
ext2fs_subr.c | ||
ext2fs_vfsops.c | ||
ext2fs_vnops.c | ||
ext2fs.h | ||
Makefile |