Patchable Constants: KHeapShrinkHysRatio

EXPORT_C extern const TInt KHeapShrinkHysRatio;

Exported from:

EUSER.DLL, EKERN.EXE

Defined in:

.../os/kernelhwsrv/kernel/eka/common/heap.cpp

Purpose:

This constant defines the ratio that determines the amount of hysteresis between heap growing and heap shrinking. It is a 32-bit fixed point number where the radix point is defined to be between bits 7 and 8 (where the LSB is bit 0) i.e. using standard notation, a Q8 or a fx24.8 fixed point number. For example for a ratio of 2.0 set KHeapShrinkHysRatio=0x200.

The heap shrinking hysteresis value is calculated to be:

KHeapShrinkHysRatio*(iGrowBy>>8)

where iGrowBy is a page aligned value set by the argument, aGrowBy, to the RHeap constructor. Default hysteresis value is iGrowBy bytes i.e. KHeapShrinkHysRatio=2.0. Memory usage may be improved by reducing the heap shrinking hysteresis by setting 1.0 < KHeapShrinkHysRatio < 2.0. Heap shrinking hysteresis is disabled/removed when KHeapShrinkHysRatio <= 1.0.