Share via


dwOEMPTPoolSize (Windows Embedded CE 6.0)

1/5/2010

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.

Syntax

const DWORD dwOEMPTPoolSize;

Parameters

None.

Return Value

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

Header Developer Implemented
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

Optional OAL Variables

Other Resources

Memory-mapped Files
Real-Time Performance