dwOEMPTPoolSize (Windows CE 5.0)

Send Feedback

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

The default value is 16 pages, with the maximum being 512 pages.

Based on your system, you must increase the value until you get the right fit. As the pool gets bigger, your average process switch time goes up because you are affecting more memory.

It takes 8 pages to map one full process. 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 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.
  2. Multiply the number by eight pages.
  3. 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.
  4. Add the values together to determine home many pages should be allocated.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: Developer-defined.

See Also

Memory-Mapped Files | Real-Time Performance

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.