SMPV211 - OS/2 for SMP V2.11 Tools: Difference between revisions
No edit summary |
mNo edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
[[Category:WorkToDo]] | [[Category:WorkToDo]] | ||
A Multiprocessor CPU Performance Monitor will be shipped with this product. This tool will display CPU utilization for each processor in bar graph and histogram modes. It will be written as a PM application and will display each processor's bar or line as a different color. This tool will also have the capability of placing each processor offline or online. This is useful to show the scalability of OS/2 for SMP V2.11. It may also be used for debug purposes. This tool will use the APIs described above. It is also desirable to be able to display the time spent waiting inside of the major spinlocks, such as the Ring 0 spinlock. It is also desirable to display the interrupt activity for each processor. | A Multiprocessor CPU Performance Monitor will be shipped with this product. This tool will display CPU utilization for each processor in bar graph and histogram modes. It will be written as a PM application and will display each processor's bar or line as a different color. This tool will also have the capability of placing each processor offline or online. This is useful to show the scalability of OS/2 for SMP V2.11. It may also be used for debug purposes. This tool will use the APIs described above. It is also desirable to be able to display the time spent waiting inside of the major spinlocks, such as the Ring 0 spinlock. It is also desirable to display the interrupt activity for each processor. | ||
<PRE> | <PRE> | ||
┌───────────────────────────────────────────────────────┐ | |||
│ OS/2 Symmetric MultiProcessor Performance Monitor │ | |||
├───────────────────────────────────────────────────────┤ | |||
│ Bar Histogram Interrupt Status Options Help │ | |||
├───────────────────────────────────────────────────────┤ | |||
│ │ | |||
│ │ | |||
│ ┌───────────────────────────────────────────────┐ │ | |||
│100│ │ │ | |||
│ │ │ │ | |||
│ │ │ │ | |||
│ 90│ │ │ | |||
│ │ │ │ | |||
│ │ │ │ | |||
│ 80│ │ │ | |||
│ │ │ │ | |||
│ │ │ │ | |||
│ 70│ │ │ | |||
│ │ │ │ | |||
│ │ ┌──┐ │ │ | |||
│ 60│ │ │ ┌──┐ │ │ | |||
│ │ │ │ │ │ ┌──┐ │ │ | |||
│ │ │ │ │ │ ┌──┐ │ │ │ │ | |||
│ 50│ ┌──┐ │ │ │ │ │ │ │ │ │ │ | |||
│ │ │ │ │ │ ┌──┐ │ │ │ │ │ │ │ │ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ | |||
│ 40│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ | |||
│ 30│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ | |||
│ 20│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ | |||
│ 10│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ | |||
│ 0 └───────────────────────────────────────────────┘ │ | |||
│ % │ | |||
│ CPU 1 2 3 4 5 6 │ | |||
└───────────────────────────────────────────────────────┘ | |||
</PRE> | </PRE> | ||
Figure 1. CPU Monitor in BAR mode | Figure 1. CPU Monitor in BAR mode | ||
Line 54: | Line 51: | ||
NOTE: Each CPU to be a different color. | NOTE: Each CPU to be a different color. | ||
<PRE> | |||
┌────────────────────────────────────────────────────────┐ | |||
<PRE> | │ OS/2 Symmetric MultiProcessor Performance Monitor │ | ||
├────────────────────────────────────────────────────────┤ | |||
│ Bar Histogram Interrupt Status Options Help │ | |||
├────────────────────────────────────────────────────────┤ | |||
│ │ | |||
│ │ | |||
│ ┌───────────────────────────────────────────────┐ │ | |||
│100│ │ │ | |||
│ │ │ │ | |||
│ │ │ │ | |||
│ 90│ │ │ | |||
│ │ │ │ | |||
│ │ │ │ | |||
│ 80│ │ │ | |||
│ │ │ │ | |||
│ │ │ │ | |||
│ 70│ │ │ | |||
│ │ │ │ | |||
│ │ │ │ | |||
│ 60│ │ │ | |||
│ │ │ │ | |||
│ │ │ │ | |||
│ 50│ ****** │ │ | |||
│ │ * *** * * │ │ | |||
│ │ **** ** *** * * │ │ | |||
│ 40│ *** * * * * **** │ │ | |||
│ │** * * * * * * │ │ | |||
│ │ *** * **│ │ | |||
│ 30│x - x │ │ | |||
│ │ x ---- -xxx xxx xxx x│ │ | |||
│ │ x- xxxx- xx - xxxx - x x --- │ │ | |||
│ 20│ -x x ----x- ---x x- - ------x - │ │ | |||
│ │ -- x -x x--- -x - xxxx--- - │ │ | |||
│ │ xxx -- xxxxx - - │ │ | |||
│ 10│ - │ │ | |||
│ │ │ │ | |||
│ │ │ │ | |||
│ 0 └───────────────────────────────────────────────┘ │ | |||
│ %/ │ | |||
│ /Time 1 2 3 4 5 6 │ | |||
└────────────────────────────────────────────────────────┘ | |||
</PRE> | </PRE> | ||
Line 106: | Line 101: | ||
NOTE: Each CPU to be a different color. | NOTE: Each CPU to be a different color. | ||
<PRE> | <PRE> | ||
┌────────────────────────────────────────────────────────┐ | ┌────────────────────────────────────────────────────────┐ | ||
│ OS/2 Symmetric MultiProcessor Performance Monitor │ | │ OS/2 Symmetric MultiProcessor Performance Monitor │ | ||
├────────────────────────────────────────────────────────┤ | ├────────────────────────────────────────────────────────┤ | ||
│ Bar Histogram Interrupt Status Options Help │ | │ Bar Histogram Interrupt Status Options Help │ | ||
├────────────────────────────────────────────────────────┤ | ├────────────────────────────────────────────────────────┤ | ||
│ │ | │ │ | ||
│ │ | │ │ | ||
│ ┌───────────────────────────────────────────────┐ │ | │ ┌───────────────────────────────────────────────┐ │ | ||
│5000│ │ │ | │5000│ │ │ | ||
│ │ │ │ | │ │ │ │ | ||
│ │ │ │ | │ │ │ │ | ||
│4500│ │ │ | │4500│ │ │ | ||
│ │ │ │ | │ │ │ │ | ||
│ │ │ │ | │ │ │ │ | ||
│4000│ │ │ | │4000│ │ │ | ||
│ │ │ │ | │ │ │ │ | ||
│ │ │ │ | │ │ │ │ | ||
│3500│ │ │ | │3500│ │ │ | ||
│ │ │ │ | │ │ │ │ | ||
│ │ ┌──┐ │ │ | │ │ ┌──┐ │ │ | ||
│3000│ │ │ │ │ | │3000│ │ │ │ │ | ||
│ │ │ │ │ │ | │ │ │ │ │ │ | ||
│ │ ┌──┐ │ │ │ │ | │ │ ┌──┐ │ │ │ │ | ||
│2500│ │ │ │ │ │ │ | │2500│ │ │ │ │ │ │ | ||
│ │ │ │ ┌──┐ │ │ │ │ | │ │ │ │ ┌──┐ │ │ │ │ | ||
│ │ │ │ │ │ │ │ │ │ | │ │ │ │ │ │ │ │ │ │ | ||
│2000│ ┌──┐ │ │ │ │ │ │ │ │ | │2000│ ┌──┐ │ │ │ │ │ │ │ │ | ||
│ │ │ │ │ │ │ │ │ │ │ │ | │ │ │ │ │ │ │ │ │ │ │ │ | ||
│ │ │ │ │ │ │ │ │ │ ┌──┐ │ │ | │ │ │ │ │ │ │ │ │ │ ┌──┐ │ │ | ||
│1500│ │ │ │ │ │ │ │ │ │ │ │ │ | │1500│ │ │ │ │ │ │ │ │ │ │ │ │ | ||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ | │ │ │ │ │ │ │ │ │ │ │ │ │ │ | ||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ | │ │ │ │ │ │ │ │ │ │ │ │ │ │ | ||
│1000│ │ │ │ │ │ │ │ │ │ │ │ │ | │1000│ │ │ │ │ │ │ │ │ │ │ │ │ | ||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ | │ │ │ │ │ │ │ │ │ │ │ │ │ │ | ||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ | │ │ │ │ │ │ │ │ │ │ │ │ │ │ | ||
│ 500│ │ │ │ │ │ │ │ │ │ │ │ │ | │ 500│ │ │ │ │ │ │ │ │ │ │ │ │ | ||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ | │ │ │ │ │ │ │ │ │ │ │ │ │ │ | ||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ | │ │ │ │ │ │ │ │ │ │ │ │ │ │ | ||
│ 0└───────────────────────────────────────────────┘ │ | │ 0└───────────────────────────────────────────────┘ │ | ||
│#/ │ | │#/ │ | ||
│/Time 1 2 3 4 5 6 │ | │/Time 1 2 3 4 5 6 │ | ||
└────────────────────────────────────────────────────────┘ | └────────────────────────────────────────────────────────┘ | ||
</PRE> | </PRE> | ||
Figure 3. CPU Monitor in INTERRUPT mode | Figure 3. CPU Monitor in INTERRUPT mode | ||
Line 158: | Line 150: | ||
;NOTE: Each CPU to be a different color. | ;NOTE: Each CPU to be a different color. | ||
<PRE> | <PRE> | ||
┌────────────────────────────────────────────────────────┐ | ┌────────────────────────────────────────────────────────┐ | ||
│ Processor ONLINE/OFFLINE STATUS Selection │ | │ Processor ONLINE/OFFLINE STATUS Selection │ | ||
├────────────────────────────────────────────────────────┤ | ├────────────────────────────────────────────────────────┤ | ||
│ │ | │ │ | ||
│ │ | │ │ | ||
│ │ | │ │ | ||
│ Please select/change the status of the │ | │ Please select/change the status of the │ | ||
│ desired processor(s). │ | │ desired processor(s). │ | ||
│ │ | │ │ | ||
│ A Y means the processor is online │ | │ A Y means the processor is online │ | ||
│ A N means the processor is offline │ | │ A N means the processor is offline │ | ||
│ │ | │ │ | ||
│ Selection toggles the Y/N │ | │ Selection toggles the Y/N │ | ||
│ │ | │ │ | ||
│ CPU ONLINE │ | │ CPU ONLINE │ | ||
│ n X │ | │ n X │ | ||
│ 1 │Y│ │ | │ 1 │Y│ │ | ||
Line 203: | Line 194: | ||
└────────────────────────────────────────────────────────┘ | └────────────────────────────────────────────────────────┘ | ||
</PRE> | </PRE> | ||
Figure 4. CPU Monitor STATUS dialog box | Figure 4. CPU Monitor STATUS dialog box | ||
<PRE> | <PRE> | ||
┌────────────────────────────────────────────────────────┐ | ┌────────────────────────────────────────────────────────┐ | ||
│ │ | │ │ | ||
│ Background color -> (fig. 5b) │ | │ Background color -> (fig. 5b) │ | ||
│ CPU graph color -> (fig. 5a) │ | │ CPU graph color -> (fig. 5a) │ | ||
│ Freeze screen Alt+F │ | │ Freeze screen Alt+F │ | ||
│ Fill Alt+I │ | │ Fill Alt+I │ | ||
│ │ | │ │ | ||
│ │ | │ │ | ||
└────────────────────────────────────────────────────────┘ | └────────────────────────────────────────────────────────┘ | ||
</PRE> | </PRE> | ||
Figure 5. CPU Monitor OPTIONS dialog box | Figure 5. CPU Monitor OPTIONS dialog box | ||
<PRE> | <PRE> | ||
┌────────────────────────────────────────────────────────┐ | ┌────────────────────────────────────────────────────────┐ | ||
│ │ | │ │ | ||
│ CPU 1 │ | │ CPU 1 │ | ||
│ CPU 2 │ | │ CPU 2 │ | ||
│ CPU 3 │ | │ CPU 3 │ | ||
│ CPU 4 │ | │ CPU 4 │ | ||
│ CPU 5 │ | │ CPU 5 │ | ||
│ CPU 6 │ | │ CPU 6 │ | ||
│ CPU 7 │ | │ CPU 7 │ | ||
│ CPU 8 │ | │ CPU 8 │ | ||
│ │ | │ │ | ||
└────────────────────────────────────────────────────────┘ | └────────────────────────────────────────────────────────┘ | ||
</PRE> | </PRE> | ||
Figure 5a. CPU Monitor GRAPH Color CPU selection | Figure 5a. CPU Monitor GRAPH Color CPU selection | ||
NOTE: After selecting CPU, prompt for color | NOTE: After selecting CPU, prompt for color selection (fig 5b). | ||
selection (fig 5b). | |||
<PRE> | <PRE> | ||
┌────────────────────────────────────────────────────────┐ | ┌────────────────────────────────────────────────────────┐ | ||
│ │ | │ │ | ||
│ │ | │ │ | ||
│ WHITE │ | │ WHITE │ | ||
│ BLACK │ | │ BLACK │ | ||
│ BLUE │ | │ BLUE │ | ||
│ RED │ | │ RED │ | ||
│ PINK │ | │ PINK │ | ||
│ GREEN │ | │ GREEN │ | ||
│ CYAN │ | │ CYAN │ | ||
│ YELLOW │ | │ YELLOW │ | ||
│ DARK GRAY │ | │ DARK GRAY │ | ||
│ DARK BLUE │ | │ DARK BLUE │ | ||
│ DARK RED │ | │ DARK RED │ | ||
│ DARK PINK │ | │ DARK PINK │ | ||
│ DARK GREEN │ | │ DARK GREEN │ | ||
│ DARK CYAN │ | │ DARK CYAN │ | ||
│ BROWN │ | │ BROWN │ | ||
│ PALE GRAY │ | │ PALE GRAY │ | ||
│ │ | │ │ | ||
└────────────────────────────────────────────────────────┘ | └────────────────────────────────────────────────────────┘ | ||
</PRE> | </PRE> | ||
Figure 5b. CPU Monitor Color selection | Figure 5b. CPU Monitor Color selection |
Latest revision as of 14:04, 26 May 2025
Reprint Courtesy of International Business Machines Corporation, © International Business Machines Corporation
A Multiprocessor CPU Performance Monitor will be shipped with this product. This tool will display CPU utilization for each processor in bar graph and histogram modes. It will be written as a PM application and will display each processor's bar or line as a different color. This tool will also have the capability of placing each processor offline or online. This is useful to show the scalability of OS/2 for SMP V2.11. It may also be used for debug purposes. This tool will use the APIs described above. It is also desirable to be able to display the time spent waiting inside of the major spinlocks, such as the Ring 0 spinlock. It is also desirable to display the interrupt activity for each processor.
┌───────────────────────────────────────────────────────┐ │ OS/2 Symmetric MultiProcessor Performance Monitor │ ├───────────────────────────────────────────────────────┤ │ Bar Histogram Interrupt Status Options Help │ ├───────────────────────────────────────────────────────┤ │ │ │ │ │ ┌───────────────────────────────────────────────┐ │ │100│ │ │ │ │ │ │ │ │ │ │ │ 90│ │ │ │ │ │ │ │ │ │ │ │ 80│ │ │ │ │ │ │ │ │ │ │ │ 70│ │ │ │ │ │ │ │ │ ┌──┐ │ │ │ 60│ │ │ ┌──┐ │ │ │ │ │ │ │ │ ┌──┐ │ │ │ │ │ │ │ │ ┌──┐ │ │ │ │ │ 50│ ┌──┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌──┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 40│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 30│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 20│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 10│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 0 └───────────────────────────────────────────────┘ │ │ % │ │ CPU 1 2 3 4 5 6 │ └───────────────────────────────────────────────────────┘
Figure 1. CPU Monitor in BAR mode
Monitors % of each processor used per second.
NOTE: Each CPU to be a different color.
┌────────────────────────────────────────────────────────┐ │ OS/2 Symmetric MultiProcessor Performance Monitor │ ├────────────────────────────────────────────────────────┤ │ Bar Histogram Interrupt Status Options Help │ ├────────────────────────────────────────────────────────┤ │ │ │ │ │ ┌───────────────────────────────────────────────┐ │ │100│ │ │ │ │ │ │ │ │ │ │ │ 90│ │ │ │ │ │ │ │ │ │ │ │ 80│ │ │ │ │ │ │ │ │ │ │ │ 70│ │ │ │ │ │ │ │ │ │ │ │ 60│ │ │ │ │ │ │ │ │ │ │ │ 50│ ****** │ │ │ │ * *** * * │ │ │ │ **** ** *** * * │ │ │ 40│ *** * * * * **** │ │ │ │** * * * * * * │ │ │ │ *** * **│ │ │ 30│x - x │ │ │ │ x ---- -xxx xxx xxx x│ │ │ │ x- xxxx- xx - xxxx - x x --- │ │ │ 20│ -x x ----x- ---x x- - ------x - │ │ │ │ -- x -x x--- -x - xxxx--- - │ │ │ │ xxx -- xxxxx - - │ │ │ 10│ - │ │ │ │ │ │ │ │ │ │ │ 0 └───────────────────────────────────────────────┘ │ │ %/ │ │ /Time 1 2 3 4 5 6 │ └────────────────────────────────────────────────────────┘
Figure 2. CPU Monitor in HISTOGRAM mode
Monitors % of each processor used over time.
NOTE: Each CPU to be a different color.
┌────────────────────────────────────────────────────────┐ │ OS/2 Symmetric MultiProcessor Performance Monitor │ ├────────────────────────────────────────────────────────┤ │ Bar Histogram Interrupt Status Options Help │ ├────────────────────────────────────────────────────────┤ │ │ │ │ │ ┌───────────────────────────────────────────────┐ │ │5000│ │ │ │ │ │ │ │ │ │ │ │4500│ │ │ │ │ │ │ │ │ │ │ │4000│ │ │ │ │ │ │ │ │ │ │ │3500│ │ │ │ │ │ │ │ │ ┌──┐ │ │ │3000│ │ │ │ │ │ │ │ │ │ │ │ │ ┌──┐ │ │ │ │ │2500│ │ │ │ │ │ │ │ │ │ │ ┌──┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │2000│ ┌──┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌──┐ │ │ │1500│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │1000│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 500│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 0└───────────────────────────────────────────────┘ │ │#/ │ │/Time 1 2 3 4 5 6 │ └────────────────────────────────────────────────────────┘
Figure 3. CPU Monitor in INTERRUPT mode
Monitors # of interrupts per second.
- NOTE
- Each CPU to be a different color.
┌────────────────────────────────────────────────────────┐ │ Processor ONLINE/OFFLINE STATUS Selection │ ├────────────────────────────────────────────────────────┤ │ │ │ │ │ │ │ Please select/change the status of the │ │ desired processor(s). │ │ │ │ A Y means the processor is online │ │ A N means the processor is offline │ │ │ │ Selection toggles the Y/N │ │ │ │ CPU ONLINE │ │ n X │ │ 1 │Y│ │ │ │ │ │ │ 2 │Y│ │ │ │ │ │ │ 3 │N│ │ │ │ │ │ │ 4 │Y│ │ │ │ │ │ │ 5 │Y│ │ │ │ │ │ │ 6 │N│ │ │ │-│ │ │ 7 │N│ │ │ │ │ │ │ 8 │Y│ │ │ │ │ │ │ │ │ │ │ │ │ ┌──────┐ ┌──────┐ ┌──────┐ │ │ │ OK │ │CANCEL│ │ HELP │ │ │ └──────┘ └──────┘ └──────┘ │ │ │ │ │ │ │ └────────────────────────────────────────────────────────┘
Figure 4. CPU Monitor STATUS dialog box
┌────────────────────────────────────────────────────────┐ │ │ │ Background color -> (fig. 5b) │ │ CPU graph color -> (fig. 5a) │ │ Freeze screen Alt+F │ │ Fill Alt+I │ │ │ │ │ └────────────────────────────────────────────────────────┘
Figure 5. CPU Monitor OPTIONS dialog box
┌────────────────────────────────────────────────────────┐ │ │ │ CPU 1 │ │ CPU 2 │ │ CPU 3 │ │ CPU 4 │ │ CPU 5 │ │ CPU 6 │ │ CPU 7 │ │ CPU 8 │ │ │ └────────────────────────────────────────────────────────┘
Figure 5a. CPU Monitor GRAPH Color CPU selection
NOTE: After selecting CPU, prompt for color selection (fig 5b).
┌────────────────────────────────────────────────────────┐ │ │ │ │ │ WHITE │ │ BLACK │ │ BLUE │ │ RED │ │ PINK │ │ GREEN │ │ CYAN │ │ YELLOW │ │ DARK GRAY │ │ DARK BLUE │ │ DARK RED │ │ DARK PINK │ │ DARK GREEN │ │ DARK CYAN │ │ BROWN │ │ PALE GRAY │ │ │ └────────────────────────────────────────────────────────┘
Figure 5b. CPU Monitor Color selection