2010-04-27 9 views
1

J'essaie de comprendre les aspects techniques de la planification sous Linux. Ce que je n'arrive pas à comprendre, c'est ce qui se passe avec ces entrées dans la file d'attente où il n'y a pas de processus en cours d'exécution. Dans run_queue, nous avons un bitmap, un compteur et le tableau de listes eux-mêmes. Pour une liste vide car il n'y a pas de tâches en cours avec sa priorité, à quoi les pointeurs suivant et précèdent pointent-ils?À quoi renvoie une entrée de file d'attente d'exécution vide?

+1

Je n'ai pas de réponse officielle, mais il y a des chances que ce soit "une valeur nulle" ou "ce n'est pas grave". – Amber

Répondre

3

Si vous parlez de la structure struct rt_prio_array, listes vides ont next et prev pointeurs qui pointent vers la struct list_head dans le struct rt_prio_array lui-même.

Ceci est vrai pour toutes les listes list.h. La fonction list_empty() est fournie pour tester cette condition.