A partir do link que forneci sobre o Completely Fair Scheduler, vemos que no kernel 2.6.24 tem o que é chamado de programação de grupo.
Para citar Chandandeep Singh Pabla:
For example, let's say there is a total of 25 runnable processes in the system. CFS tries to be fair by allocating 4% of the CPU to all of them. However, let's say that out of these 25 processes, 20 belong to user A while 5 belong to user B. User B is at an inherent disadvantage as A is getting more CPU power than B. Group scheduling tries to eliminate this problem. It first tries to be fair to a group and then to individual tasks withing that group. So, CFS with group scheduling enabled, will allocate 50% of the CPU to each user A and B. The allocated 50% share of A will be divided among A's 20 tasks, while the other 50% of the CPU time will be distributed fairly among B's 5 taks.
Agora, isso se aplica à pergunta acima, porque quando um processo gera um novo thread, ele estará nesse grupo de agendamento de processos. Isso impede que um programa que gera 1000 threads sobrecarregem todo o tempo da CPU, porque ele só obterá 1 / 1001th (1000 encadeamentos mais o programa original) do tempo de execução desse grupo de processos específico.
Assim, diminuindo a quantidade de tempo que um encadeamento é comparado ao sistema inteiro, isso pune corretamente os aplicativos encadeados.