Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

OS_Mal should always be called with A=0. Usage of this option is not recommended and should never be used. When MM_MUL was set during pool opening in OS_Mop, slot selection of allocation can be forced by setting slot number in A (1-3).

Allocation internals

Chunk and page allocation begins from the latest bank of the slot and goes downward. Block allocation begins at the first bank and goes upward. It avoids fragmentation (big blocks inside the file system). In the same principle, MM_EXC forces in priority most free banks and MM_MUL fills the slot downward. Memory allocation for the AZ module assembler is a good example, I performed some tests.

In the first example, it allocates chunks using MM_MUL option. Those chunks are allocated and released during page allocation for the file system. It ends with a fragmented filesystem.

Image Added

In the second image, MM_EXC was specified. Banks allocated for chunks were less mixed with the filesystem. Result is a really decreased fragmentation and a better overall performance (around 10% of time).

Image Added