3.12. SummaryThe dispatcher is one of the more complex subsystems in the kernel, made all the more so with changes to system and chip architectures and new features implemented in Solaris for resource management and control. The implementation of a core dispatcher with support for multiple scheduling classes provides a flexible environment for running a variety of workloads. The per-CPU run queue implementation provides speed and scalability on multiprocessor platforms. The wealth of observability tools in Solaris (prstat(1), mpstat(1), dtrace(1), etc.) makes understanding your workload and your systems behavior an attainable goal. One final note: With the availability of the source code on www.opensolaris.com, it is expected that some readers will read the source listings as they use this text for reference. The text does not describe every function and every line of source code in the dispatcher. Such a text would be onerous to read, to say the least. The goal here was to describe how things work with some level of detail. Areas of the code that are not mentioned or included in the text are not an accidental omission, but rather the result of a conscious decision by the writers to maintain a balance between including what's important and excluding what are nonessential, subtle details. |