dwOEMPTPoolSize

This variable is no longer used as of Windows CE .NET 4.2. The page table is now dynamically–allocated as needed.

This variable defines the page table pool size in pages.

const DWORD dwOEMPTPoolSize;

Parameters

None.

Return Values

None.

Remarks

Default value is 16 pages, with the max being 512 pages. Based on your system, you will have to increase the value until you get the right fit. As the pool gets bigger, your average process switch time will go up because you are affecting more memory.

To map 1 full process takes 8 pages. To map 2 GB, all process space, and the shared memory in the second GB of virtual memory takes 512 pages. A process might not use all 8 pages of its pool so the unused pool can be used by another process.

The size of the pool effects when a page of the pool must be set to zero in order to map a different area of a process or a different process. The zeroing of a page occurs when there are no free pages left, so a page must be zeroed before assigning it to the new process. The act of zeroing several pages can affect the IST latency of a real-time platform.

To determine how many pages to map

  1. Determine how many processes will run simultaneously.
    1. Multiply the number by eight pages.
  2. Determine how much memory is being used by Memory-Mapped Files in the 2–GB area.
    1. Use the "mi" command from the Platform Builder Target Control application.
    2. Look for the sections marked "Mapped file section."
    3. Total the "r/w" value of each section and divide by 32.
  3. Add the values together to determine home many pages should be allocated.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: Not applicable.

See Also

Memory-Mapped Files | Real-Time Performance

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.