IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

POSIX C Discussion :

modifier ordonnancement : sched_setpolicy


Sujet :

POSIX C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 613
    Par défaut modifier ordonnancement : sched_setpolicy
    Bonjour,

    je cherche des infos pour modifier l'ordonnancement d'un thread, mais dans le man pthread attr init il est dit :
    Voir sched_setpolicy(2) pour plus d'informations sur ces politiques.
    Et je ne trouve pas ce man.
    même sur developpez.com, ca pointe vers un lien qui n'existe pas :
    http://man.developpez.com/man2/sched_setpolicy.2.php

    Merci pour vote aide

  2. #2
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Si tu utilises pthread, voir pthread_setschedparam.

    Ou peut-être sched_setscheduler

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 613
    Par défaut
    Citation Envoyé par valefor Voir le message
    Si tu utilises pthread, voir pthread_setschedparam.

    Ou peut-être sched_setscheduler
    J'utilise bien pthread, mais pthread_setschedparam est autre chose.
    En effet il est dit :
    Cet attribut est sans signification si la politique d'ordonnancement est SCHED_OTHER ; il n'a d'importance que pour les ordonnancements temps-
    réel SCHED_RR et SCHED_FIFO.
    Et j'ai besoin d'etre en SCHED_OTHER.

    C'est donc bien de schedpolicy dont j'ai besoin :
    schedpolicy
    change la politique et les paramètres d'ordonnancement pour le thread pour l'une parmi SCHED_OTHER (processus normal, non temps-réel), SCHED_RR
    (temps-réel, round-robin) ou SCHED_FIFO (temps-réel, fifo). Voir sched_setpolicy(2) pour plus d'informations sur ces politiques.
    Mais impossible de trouver de man sur sched_setpolicy.

    Quand à sched_setscheduler c'est pour un processus déjà lancé, ou soit même, et je voudrais régler les paramètres avant de le lancer.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 613
    Par défaut
    En fait c'est un peu confus pour moi.

    Voilà ce que j'ai compris :
    un thread non temps réel à une priorité de 0, qu'on ne peut pas changer.
    Un thread temps réel peut se voir affecter une priorité entre 1 et 99 (en fait entre sched_get_priority_max et sched_get_priority_min).

    Alors deux questions :
    Y'a t'il un rapport avec les priorités qu'on peut affecter grâce à la commande nice (priorité entre -20 et 20 je crois)
    Est ce qu'il est impossible de créer un thread non temps réel qui aurait une priorité faible, si on veut qu'il s'exécute seulement en tache de fond lorsque personne n'a besoin du cpu?

  5. #5
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Citation Envoyé par pasdeface Voir le message
    Est ce qu'il est impossible de créer un thread non temps réel qui aurait une priorité faible, si on veut qu'il s'exécute seulement en tache de fond lorsque personne n'a besoin du cpu?
    Par défaut (du moins sous Linux avec NPTL), il me semble que tous les thread que l'on créé sont comme tu le dis. Il s'exécuteront en "tache de fond". Pour un thread temps réel il faut le spécifier explicitement.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 613
    Par défaut
    mais mon problème c'est que je travaille sur une application ayant des thread lancé avec la priorité par defaut (donc non temps réel), et j'ai besoin de lancer un nouveau thread perso assez gourmand, mais qui ne doit pas gêner le reste.

  7. #7
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Ha bon, ben du coup, pthread_attr_setschedpolicy devrait faire l'affaire.

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/11/2002, 14h08
  2. [VB6] Zone de liste modifiable basée sur un champ
    Par pepper dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 27/11/2002, 13h41
  3. [VB6] Modifier la clé d'un élément d'une collection
    Par Ricou13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 14h49
  4. [VB6] [MDI] Modifier form en MDIform
    Par fikou dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 12/09/2002, 13h48
  5. Réponses: 5
    Dernier message: 06/08/2002, 20h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo