The easiest method to test a system that uses the thread scheduler is from the command line.
Be sure to test your system in a fully loaded state, because that's
where problems are likely to occur. Create a program that consumes resources by looping forever, run it
in each partition, and then do the following:
- Watch for bankruptcies, which you should consider to be programming errors.
You can use
SchedCtl()
with the SCHED_APS_BNKR_* flags to control what happens
when a partition exhausts its critical budget.
This can range from preventing the partition's threads from running to rebooting the system.
For more information, see the QNX Neutrino C Library Reference.
- Ensure that all latencies are acceptable for your system.
- Use the
aps
command to change your partitions' budgets.
The new budgets come into effect at the beginning of the next
averaging window. Since the window size is typically 100 ms, you can quickly try many
different combinations of budgets.