Sur le noyau Linux 2.6.28-11, j'utilise setpriority pour biaiser la quantité de temps cpu que les différents processus utilisateurs reçoivent. L'utilisateur 1 doit recevoir le double de la puissance CPU de l'utilisateur 2. En utilisant setpriority de Linux, j'ai assigné à l'utilisateur 2 une priorité inférieure (supérieure en termes de valeurs agréables). Lorsque j'exécute exactement le même programme via le shell avec l'ordinateur sous charge, l'exécution de l'utilisateur 2 prend deux fois plus de temps que celle de l'utilisateur 1. Cependant, si j'exécute le programme en tant que Root, puis que j'utilise setuid, seteuid, setgid, setegid et setgroups pour devenir l'utilisateur 2 (une fois encore, l'ordinateur est sous charge et le même programme est exécuté par l'utilisateur 1 de la même manière), les programmes mettent exactement le même temps à s'exécuter ; le processus de l'utilisateur 2 n'est pas moins planifié que celui de l'utilisateur 1. Comment puis-je contourner ce problème ? Dois-je définir autre chose pour que le planificateur réalise que le processus fait maintenant partie d'un utilisateur différent ?
Le programme exécuté est en Python.