| Testcase 03 |
| ----------- |
| |
| This test verifies that when you online a new CPU, that the scheduler |
| takes advantage of it by shifting some of its workloads onto it. We do |
| this by offlining a CPU, creating a bunch of processor intensive |
| processes, and then onlining the CPU, and checking to make sure at least |
| one of the processes moved to that CPU. |
| |
| |
| Algorithm |
| ========= |
| Given a CPU to test that exists |
| |
| Take a snapshot of what CPUs are on and off initially |
| |
| Loop until done: |
| Online all of the CPUs and note their state |
| |
| Offline the specified CPU |
| |
| Start up a number of processes equal to twice the number of CPUs we |
| have, so we can be pretty sure that we've got enough processes that at |
| least one will migrate to the new CPU. |
| |
| Now online the specified CPU |
| |
| Wait a few seconds, to allow the process scheduler to move processes |
| around a bit. |
| |
| Verify that at least one process has migrated to the new CPU by |
| looking at the output from 'ps -o psr -o com' and searching for our |
| CPU running the process. |
| |
| |
| When exiting: |
| Kill all of the load processes |
| |
| Restore all CPUs to their initial state |