[kernel] Dynamically allocate inode and file table from bootopts #1840
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Follow on to #1839, the internal inode and file table sizes can now changed from /bootopts.
This allows a system to be configured to use more or less inodes (default 96) or open files (default 64) than normal. Each inode entry uses 80 bytes of kernel heap, while open files use an inode and a file entry (size 14+80).
Use
inode=
andfile=
in /bootopts, along withtask=
to specify kernel resource sizes. It is recommended that inode= be larger than or equal to file=.meminfo
now shows the amount of limited kernel data segment memory used for the TASK, INODE, FILE and BUFH (buffer headers) used, which allow for more specialized customization of ELKS for a particular use case.This screenshot shows ELKS running a standard configuration, with networking not running, 49k heap, 16k free, 64k buffer/buffer headers: