NAME | SYNOPSIS | FEATURES | DESCRIPTION | RESTRICTIONS | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO
#include <mem/chMem.h>int dcCluster(KnLcId lcid, VmSize incluster, VmSize outcluster);
PXM_EXT
This system call is strictly reserved for internal use only. It MUST NOT be used by any application.
The dcCluster function sets the cluster size attributes of the data cache specified by the lcid argument. The incluster argument specifies the preferred size for both the pullIn and getAcc up-calls. These invocations will therefore try to use page lists starting on a boundary multiple of incluster and of a size equal to incluster (there is no guarantee it will always be the case).
Similarly, the outcluster argument specifies the preferred size to be used by the nucleus for building page lists to be passed to the proxy-mapper during the pushOutAsyn up-call.
The default size in both cases is the page size. The nucleus takes the cluster size into account if it is a power of two and greater than the page size. This call does not acquire any VM lock and therefore cannot be blocked.
The current implementation is only applicable to trusted supervisor actors.
If successful this call returns K_OK, otherwise the appropriate error code is returned.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
dcAlloc(2SEG), dcFree(2SEG), dcFlush(2SEG), dcFillZero(2SEG), dcRead(2SEG), dcWrite(2SEG), dcPgNumber(2SEG), dcSync(2SEG), dcPxmDeclare(2SEG), rgnMapFromDtCache(2SEG), rgnInitFromDtCache(2SEG), rgnFlush(2SEG)
NAME | SYNOPSIS | FEATURES | DESCRIPTION | RESTRICTIONS | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO