In order to collect profiling information about a running process, the kernel needs to know which processors are currently allocated to this process.
Hence, we need a thread group kernel object that is responsible for bookkeeping of allocated processors.
In order to collect profiling information about a running process, the kernel needs to know which processors are currently allocated to this process. Hence, we need a thread group kernel object that is responsible for bookkeeping of allocated processors.