OS/2 for SMP V2.11 Tools

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


[Back: The Single Processor Utility Program]
[Next: Appendix A]