L' application embarqué sur laquelle je travaille utilise un driver qui utilise une requeste irq ce qui inclut un kernel thread.
De plus cette application à l'obligation hiérarchiser ces threads. Certain thread comme la sauvegarde, la gestion d'acquisition doivent absolument être plus prioritaire que l'ihm. Et ça ce n'est qu'une petite partie. Enfin le driver en question est le driver de base de l'acquisition donc comme les thread acquisition coté USER il doit aussi être prioritaire vis à vis d'autre thread comme L'IHM (d'ou la question un thread kernel vis à vis d'un thread user).
L'idée à la base était de tous passer l'application en mode SCHED_FIFO (coté user) ce qui permettait de contrôler complètement la hiérarchisation. Mais ça ne marchais pas exactement comme je le souhaitais si l'ihm avait un gros travaille je voyais que l'acquisition flanchait.Au début j'ai cru à un problème d'inversion de priorité avec les mutex mais ce n'était pas cela. Et c'est en regardant le driver d'acquisition (que je n'ai pas conçu) que j'ai compris lui aussi utilisait un thread. Et c'est de la que sont venu toutes mes questions. Donc je pense que le problème vient de cette creation de thread et de ce changement de priorité tardif. Mais j'ai résolu autrement mon problème en mettant tous les thread de très faible priorité en mode SCHED_OTHER. Mais bon je posais toutes ces questions pour vraiment sur. Et c'était aussi pour ma culture personnel.
Merci de ta réponse bonne journée.
Yodalesage.
# réponse à question etrange
Posté par yodalesage . En réponse au message priorité kernel thread vs user thread. Évalué à 3.
L' application embarqué sur laquelle je travaille utilise un driver qui utilise une requeste irq ce qui inclut un kernel thread.
De plus cette application à l'obligation hiérarchiser ces threads. Certain thread comme la sauvegarde, la gestion d'acquisition doivent absolument être plus prioritaire que l'ihm. Et ça ce n'est qu'une petite partie. Enfin le driver en question est le driver de base de l'acquisition donc comme les thread acquisition coté USER il doit aussi être prioritaire vis à vis d'autre thread comme L'IHM (d'ou la question un thread kernel vis à vis d'un thread user).
L'idée à la base était de tous passer l'application en mode SCHED_FIFO (coté user) ce qui permettait de contrôler complètement la hiérarchisation. Mais ça ne marchais pas exactement comme je le souhaitais si l'ihm avait un gros travaille je voyais que l'acquisition flanchait.Au début j'ai cru à un problème d'inversion de priorité avec les mutex mais ce n'était pas cela. Et c'est en regardant le driver d'acquisition (que je n'ai pas conçu) que j'ai compris lui aussi utilisait un thread. Et c'est de la que sont venu toutes mes questions. Donc je pense que le problème vient de cette creation de thread et de ce changement de priorité tardif. Mais j'ai résolu autrement mon problème en mettant tous les thread de très faible priorité en mode SCHED_OTHER. Mais bon je posais toutes ces questions pour vraiment sur. Et c'était aussi pour ma culture personnel.
Merci de ta réponse bonne journée.
Yodalesage.