| Research projects at the AG Heiss |
Managing Big Physical Memory Areas in Linux
The Linux kernel is optimized for managing many small pieces of memory, usually one page at a time. The largest continuous block that can be allocated is 128Kb (default value). Some drivers need much larger blocks, e.g. drivers for framegrabbers, high speed A/D converters or our SCI driver (see Project Arminius). March 1996 Matt Welsh (mdw@cs.cornell.edu) introduced a first bigphysarea patch for Linux 1.3.71 that allowed reservation of a memory area at boot time available for drivers. Now this patch has been extended. Some features of the new version:The patch is available here: bigphysarea-2.0.36.tar.gz, bigphysarea-2.2.13.tar.gz
- Patch against stable kernel (2.0.x/2.2.x)
- Comfortable interface (allows alignment of areas)
- Faster algorithm
- Parameter checking
- /proc interface for usage monitoring
Note: The patch has to be applied against an unmodified kernel, not a kernel where an old bigphysarea patch has been applied.