Android I / O Schedulers


Exemple

Vous pouvez améliorer votre noyau en ajoutant de nouveaux ordonnanceurs d'E / S si nécessaire. Globalement, les gouverneurs et les ordonnanceurs sont les mêmes; ils fournissent tous deux un moyen de faire fonctionner le système. Cependant, pour les ordonnanceurs, il s'agit uniquement du flux de données d'entrée / sortie, à l'exception des paramètres du processeur. Les ordonnanceurs d'E / S décident de la planification d'une activité d'E / S à venir. Les ordonnanceurs standard tels que noop ou cfq fonctionnent très raisonnablement.

Les ordonnanceurs d'E / S peuvent être trouvés dans kernel_source / block .

  1. Copiez le fichier du planificateur d'E / S (par exemple, sio-iosched.c ) et accédez à kernel_source / block . Collez le fichier du planificateur ici.

  2. Maintenant, ouvrez Kconfig.iosched et ajoutez votre choix à Kconfig , par exemple pour SIO :

    config IOSCHED_SIO
      tristate "Simple I/O scheduler"
      default y
      ---help---
        The Simple I/O scheduler is an extremely simple scheduler,
        based on noop and deadline, that relies on deadlines to
        ensure fairness. The algorithm does not do any sorting but
        basic merging, trying to keep a minimum overhead. It is aimed
        mainly for aleatory access devices (eg: flash devices).
    
  3. Ensuite, définissez l'option de choix par défaut comme suit:

    default "sio" if DEFAULT_SIO
    

    Enregistrez le fichier.

  4. Ouvrez le Makefile dans kernel_source / block / et ajoutez simplement la ligne suivante pour SIO :

    obj-$(CONFIG_IOSCHED_SIO)    += sio-iosched.o
    

    Enregistrez le fichier et vous avez terminé! Les ordonnanceurs d'E / S doivent maintenant apparaître dans la configuration du menu.

Commit similaire sur GitHub: ajout du programmateur Simple I / O.