Share via


OAL Cache Churn Test (Compact 7)

3/12/2014

This test causes churn of the memory hierarchy and cache systems by mixing operations such as allocation, freedom, and reading and writing on blocks of memory.

To cause the churn, the test uses heuristic algorithms to perform the following tasks:

  • Randomly move data into and out of the cache.
  • Continuously put pressure on the cache.
  • Test whether the VirtualAlloc(…) API returns zero-filled data.
  • Test whether data written to the cache matches that read from the cache.

Test Prerequisites

Your device must meet the following requirements before you run this test.

The following table shows the hardware requirements of the OAL Cache Churn Test.

Requirement Description

A Windows Embedded CE powered device

The Windows Embedded CE powered device must support L1 data caching

The following table shows the software requirements for the OAL Cache Churn Test.

Requirement Description

Tux.exe

Tux test harness, which executes the test

Kato.dll

Logging engine, which logs test data

OalCacheChurn.dll

OAL Cache Churn Test DLL

Subtests

The table below lists the subtests included in this test.

SubTest ID Description

1

Prints the usage message for the OAL Cache Churn test

1000

Churns the cache using the L1 data cache as the data set

2000

Churns the cache using a data set twice the size of the L1 data cache

3000

Churns the cache using a data set four times the size of the L1 data cache

4000

Churns the cache using a data set sixteen times the size of the L1 data cache

Setting Up the Test

This test has no additional requirements, beyond the standard test environment setup.

Running the Test

The following procedure describes how to run the OAL Cache Churn test.

  • At the Windows Embedded Compact Command Prompt, type tux.exe -o -d oalCacheChurn.dll

Note:

Entering this command at the command line runs the basic test by using default values. For information about using the available parameters to modify how this test runs, see Command-Line Parameters for the OAL Cache Churn Test.

This test causes churn of the memory hierarchy and cache systems by mixing operations on blocks of memory, such as allocation, free, reading and writing.

"Syntax"

"tux.exe" -o -d oalCacheChun.dll [-c "[-"runTime" time] [-"cacheSize" size] [-"maxWorkingSets" size] [-"pageSize" page] [-"breakOnFailure"] [-"caliThreshold" time]"]

Command Line Parameters

Command-line parameter Description

tux.exe tuxparams

For information about the command-line parameters of the Tux test harness, see Tux Command-Line Parameters.

-d oalCacheChurn.dll

Specifies the DLL to use for the OAL Cache Churn Test.

-c " … "

Specifies a list of test-specific parameters that Tux passes to the test DLL.

-runTime time

Specifies how long the test runs, using standard test semantics for time. For information about the semantics, see Tux Command-Line Parameters.

-cacheSize size

Specifies the size of the cache in bytes.

-maxWorkingSets size

Specifies the size of the working set in bytes; overrides cacheSize.

-pageSize page

Specifies the page size in bytes.

-breakOnFailure

Specifies that the test breaks immediately at the first failure.

-caliThreshold time

Designates a very short test time, so that the test can extrapolate how long a full run of the test might take. This information is used internally by the test. The default value is 10 seconds.

Verifying the Test

When the test completes running, verify that "PASS" appears in the test log for all subtests.

Troubleshooting the Test

The following table shows troubleshooting tips for the OAL Cache Churn test.

Condition Solution

Cache size is not valid.

Choose an array size in KB as a power of two. Make sure the array size or array sizes entered are a positive value.

Page size is not a multiple of a DWORD.

The page size should be retrieved from the system. Make sure the page size is correct. The default unit is bytes.

Could not get runtime.

Choose a valid, non-negative run time. The default unit is seconds.

For additional platform specific issues, consult the CTK articles on the TechNet wiki.

See Also

Other Resources

OAL - Cache Tests