summaryrefslogtreecommitdiffstats
path: root/doc/user
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@oarcorp.com>2015-10-20 14:47:10 -0500
committerJoel Sherrill <joel.sherrill@oarcorp.com>2015-10-27 07:31:29 -0500
commit69be1a222ae173e5cdd5c3cc47eab78e65299c72 (patch)
treebe3be12dd0b434799d3ba4b18d9b46294f7d07ee /doc/user
parentbasdefs.h: Add and use RTEMS_PACKED (diff)
downloadrtems-69be1a222ae173e5cdd5c3cc47eab78e65299c72.tar.bz2
CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK was undocumented and not error checked
closes #2431.
Diffstat (limited to 'doc/user')
-rw-r--r--doc/user/conf.t55
1 files changed, 55 insertions, 0 deletions
diff --git a/doc/user/conf.t b/doc/user/conf.t
index ec9b1f8172..0dd0a50924 100644
--- a/doc/user/conf.t
+++ b/doc/user/conf.t
@@ -2749,6 +2749,61 @@ options will be defined as well
@end itemize
@c
+@c === CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK ===
+@c
+@subsection Specify Block Size for IMFS
+
+@findex CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK
+
+@table @b
+@item CONSTANT:
+@code{CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK}
+
+@item DATA TYPE:
+Boolean feature macro.
+
+@item RANGE:
+Valid values for this configuration parameter are a power of two (2)
+between 16 and 512 inclusive. In other words, valid values are 16,
+32, 64, 128, 256,and 512.
+
+@item DEFAULT VALUE:
+The default IMFS block size is 128 bytes.
+
+@end table
+
+@subheading DESCRIPTION:
+This configuration parameter specifies the block size for in-memory files
+managed by the IMFS. The configured block size has two impacts. The first
+is the average amount of unused memory in the last block of each file. For
+example, when the block size is 512, on average one-half of the last block
+of each file will remain unused and the memory is wasted. In contrast,
+when the block size is 16, the average unused memory per file is only
+8 bytes. However, it requires more allocations for the same size file
+and thus more overhead per block for the dynamic memory management.
+
+Second, the block size has an impact on the maximum size file that can
+be stored in the IMFS. With smaller block size, the maximum file size
+is correspondingly smaller. The following shows the maximum file size
+possible based on the configured block size:
+
+@itemize @bullet
+@item when the block size is 16 bytes, the maximum file size is 1,328
+bytes.
+@item when the block size is 32 bytes, the maximum file size is 18,656
+bytes.
+@item when the block size is 64 bytes, the maximum file size is 279,488
+bytes.
+@item when the block size is 128 bytes, the maximum file size is
+4,329,344 bytes.
+@item when the block size is 256 bytes, the maximum file size is
+68,173,568 bytes.
+@item when the block size is 512 bytes, the maximum file size is
+1,082,195,456 bytes.
+@end itemize
+
+
+@c
@c === CONFIGURE_IMFS_DISABLE_CHOWN ===
@c
@subsection Disable Change Owner Support of Root IMFS