Share via


PagePoolParameters (Windows Embedded CE 6.0)

1/5/2010

This structure contains information about either loader page pool or the file page pool. It is used in conjunction with the IOCTL_HAL_GET_POOL_PARAMETERS I/O control code.

Syntax

typedef struct {
  DWORD Target;
  DWORD Maximum;
  DWORD ReleaseIncrement;
  DWORD CriticalIncrement;
  WORD NormalPriority256;
  WORD CriticalPriority256;
} PagePoolParameters;

Members

Member Description

Target

When the pool reaches or exceeds its target size, the trimming thread starts running to release pages.

Maximum

The size a pool cannot exceed.

ReleaseIncrement

After the trimming thread starts running, it continues running until the pool size falls below the target. The release increment is the amount of data below the target to page out before the thread stops again. This number allows the thread to stop for a time until the pool exceeds its target size again. Too large of an increment will page out more data than necessary, wasting RAM and affecting performance; too small of an increment will keep the thread running almost constantly.

CriticalIncrement

The critical increment is the amount of pool space that can be left before the thread goes into high-priority critical mode. When there is less than this much space left before the pool reaches its maximum, the trimming thread runs at high priority. After the pool reaches that state, the thread continues running at high priority until it has paged out enough memory that the pool has twice the critical increment of free space remaining. That allows the thread to return to low priority for a time until the pool has less than the critical increment remaining again. Too large of an increment will start the thread running too early, and make it run for too long. Too small of an increment will result in waking the thread frequently if the pool is near its maximum size.

NormalPriority256

Lowest possible priority, to minimize performance hit of trimming work during boot and application launch.

CriticalPriority256

Higher than all non-real-time priorities to run before all application threads.

Requirements

Header pkfuncs.h
Windows Embedded CE Windows Embedded CE 6.0 and later

See Also

Reference

OAL Structures
IOCTL_HAL_GET_POOL_PARAMETERS
NKPagePoolParameters

Other Resources

Kernel Migration
Developing a Device Driver
Bringing Up a Hardware Platform