SunVTS 6.2 Test Reference Manual for SPARC Platforms
|
|
Multiprocessor Test (mptest)
|
mptest Description
The mptest verifies the proper hardware functioning of multiprocessor hardware. The test provides diagnostic test coverage for different aspects of multiprocessor functionality, such as E-cache coherency, synchronization primitives, I/O cache coherency and shared memory, and interprocessor interrupts.
The mptest is adaptive to different cache size and line sizes. The test causes cache coherency operations for E-Cache and I/O Cache. It also tests the synchronization primitives provided by the sparcv8/sparcv9 architecture.
Note - mptest is not supported on sun4m platforms in SunVTS 5.1 PS6 or subsequent compatible versions.
|
|
Caution - This is an exclusive mode test. This test can not be run in parallel with any other tests or applications.
|
|
Caution - mptestby default selects the CPUXCall class of test method. If CPUXCall is selected, and mptestis run, the machine might seem hung for a few minutes. The duration depends on the number of CPUs.
|
mptest Options
To reach the following dialog box, right-click on the test name in the System Map and select Test Parameter Options. If you do not see this test in the System Map, you might need to expand the collapsed groups, or your system might not include the device appropriate to this test. Refer to the SunVTS User's Guide for more details.
FIGURE 37-1 mptest Test Parameter Options Dialog Box
The processors that can be tested are listed in the Configuration area of the menu. You can enable or disable the multiprocessing test for individual processors on this menu.
The options listed in the following table can be run alone or concurrently with other options.
TABLE 37-1 mptest Options
mptest Options
|
Description
|
Processors
|
This option can be used to select the CPU IDs for which to run this test. The test uses all CPUs on the system by default. Thus, this parameter is optional.
The CPU IDs currently present in the system can be retrieved with the psrinfo(1M) command.
Specifying a CPU ID not present in the system or one that is currently offline induces an appropriate error message from the test.
|
Class of Test Methods
|
The Multiprocessor (MP) functionality consists of different components. A class of test method is used to specify the functionality of the MP system to be tested. Currently, the Class-of-Test methods supported by mptest are: E-CacheCoherency, IOCacheCoherency, SynchronizationPrimitives, and SharedMemory, and CPUXCall.
This option can be used to selectively test one or more of the MP functions. If you do not specify the class of test methods, E-CacheConsistency and SynchronizationPrimitives are selected by default.
|
Test Tone
|
A test tone is a different way of executing the same test. Selecting a different test tone exercises and tests the MP functionality in a slightly different manner.
The tone option can be used to select the test tone for the test. The supported test tones are Random and Parallel mode.
The Random test tone introduces some randomness in testing. The ParallelTone implies that the tests perform parallel operations (like write) on different CPUs at the same time.
This tone option is optional.
If you do not specify any option, then the test assumes a normal tone of testing.
|
mpcons Test Tone
|
Selects the tone for mpconstest cases in the mptest. These options are directly from the mpconstest.
The descriptions from the mpconstest options are as follows:
- mlockBuffer - Lock the shared buffer in memory
- AtomicMode - Enable Atomic mode
- ByteMode - Enable Byte mode
- ImmediateMode - Enable Immediate mode
- RandomMode - Enable Random mode
- ReverseMode - Reverse direction to decrement through memory
- PrefetchMode - Enable use of V9 prefetch instructions
- Trigger - Enable LA trigger on error
- Offset - Enable use of linesize buffer offsets
This option is not mandatory. By default, the mpcons-tone assumes a normal mode of operation.
|
Number of Iterations
|
Same option as in mpcontest. Selects the number of iterations for running the test loops. The range for this option is 1 to 200 and the default is 5.
|
Number Of Timeout Iterations
|
Same option as in mpcontest. Selects number of timeout iterations.
|
CPU Wait Count 0
|
Same option as in mpcontest. Forces CPU 1 to write first if number of CPUs is less than count.
|
Number of Loops
|
Same option as in mpcontest. Sets loops to specified value.
|
Memory Size 0--Use Default
|
Same option as in mpcontest. Specifies memory size (MB). This should always be set to the default value.
|
Random Mode Seed 0
|
Same option as in mpconstest. Sets random number seed to specified value.
|
Strand Level Test
|
Performs strand level testing for multi-stranded processors such as Niagara. This option selects all strands for testing instead of selecting one strand/core. Thes option can be set to Yes or No.
|
mptest Test Modes
TABLE 37-2 mptest Supported Test Modes
Test Mode
|
Description
|
Exclusive
|
Tests the selected multiprocessor functionality.
|
mptest Command-Line Syntax
/opt/SUNWvts/bin/mptest standard-arguments M=4+5+6+7, method=ECacheCoherency+IOCacheCoherency+SynchronizationPrimitives+SharedMemory+CPU Call, tone=ParallelMode+Random, mpcons-tone=mlockBuffer+AtomicMode+ByteMode+ImmediateMode+RandomMode+ReverseMode+PrefetchMode+Trigger+Offset, count=[1-200], mpcons-numtmout=[1-10], mpcons-wait=0, mpcons-loops=[1-999], mpcons-memsize=0, mpcons-seed=0, strandleveltest=Yes|No
TABLE 37-3 mptest Command-Line Syntax
mptest Options
|
Description
|
M=4+5+6+7
|
Selects the CPU IDs for which to run this test. The test uses all CPUs on the system by default. Hence, this parameter is optional.
The CPU IDs currently present in the system can be retrieved with the psrinfo(1M) command.
Specifying a CPU ID not present in the system or one which is currently offline induces an appropriate error message from the test.
Example: If you want to select CPU IDs 4, 5, 6 and 7, specify: M=4+5+6+7. The behaviour is little different for multi-stranded processors such as Niagara. Each ID corresponds to a CPU ID of a strand in any core. If strandleveltest is set to No, only one CPU from a strand is chosen. To override this behavior, that is. to select more than one strand from a core, the strandleveltest option must be set to Yes.
|
method=ECacheCoherency+IOCacheCoherency+SynchronizationPrimitives+SharedMemory+CPUXCall
|
Selectively tests one or more of the MP functions. If you do not specify the class of test methods, E-CacheConsistency, SynchronizationPrimitives, and CPUXCall are selected by default.
The Multiprocessor (MP) functionality consists of different components. A class of test method is used to specify the functionality of the MP system to be tested. The Class-of-Test methods supported by mptest are: E-CacheCoherency, IOCacheCoherency, SynchronizationPrimitives, SharedMemory, and CPUXCall.
|
tone=ParallelMode+Random
|
A test tone is a different way of executing the same test. Selecting a different test tone exercises and tests the MP functionality in a slightly different manner.
The tone option can be used to select the test tone for the test. The supported test tones are: Random and Parallel mode.
The Random test tone introduces some randomness in testing. The ParallelTone implies that the tests perform parallel operations (like write) on different CPUs at the same time.
This tone option is optional.
If you do not specify an option, the test assumes a normal tone of testing.
|
mpcons-tone=mlockBuffer+AtomicMode+ByteMode+ImmediateMode+RandomMode+ReverseMode+PrefetchMode+Trigger+Offset
|
Selects the tone for mpconstest cases in the mptest. These options are directly from the mpconstest.
The descriptions from thes mpconstest options are as follows:
- mlockBuffer - Lock the shared buffer in
- memoryAtomicMode - Enable Atomic
- modeByteMode - Enable Byte
- modeImmediateMode - Enable Immediate
- modeRandomMode - Enable Random Mode
- ReverseMode - Reverse direction to decrement through memory
- PrefetchMode - Enable use of V9 prefetch instructions
- Trigger - Enable LA trigger on error
- Offset - Enable use of linesize buffer offsets
This option is not mandatory. By default, the mpcons-tone assumes a normal mode of operation.
|
count=[1-200]
|
Selects the number of iterations for running the test loops. The range for this option is 1 to 200 and the default is 5.
|
mpcons-numtmout=[1-10]
|
Same option as in mpcontest. Selects number of timeout iterations.
|
mpcons-wait=0
|
Same option as in mpcontest. Forces CPU 1 to write first if number of CPUs is less than count.
|
mpcons-loops=[1-999]
|
Same option as in mpcontest. Sets loops to specified value.
|
mpcons-memsize=0
|
Same option as in mpcontest. Specifies memory size (MB). This should always be set to the default value.
|
mpcons-seed=0
|
Same option as in mpcontest. Sets random number seed to specified value.
|
dev=mp
|
Specifies the device.
|
strandleveltest=Yes|No
|
Enables the strand level testing and selects all strands for testing. The default option No performs the most optimal testing and is the most generally used. This option doesnt have any effect on non-multistranded processors such as UltraSPARC IV+.
|
SunVTS 6.2 Test Reference Manual for SPARC Platforms
|
819-6455-10
|
|
Copyright © 2006, Sun Microsystems, Inc. All Rights Reserved.