Modif Noyau Linux pour cadence a 1000Hz

Constat sur Noyau Linux par defaut

Sur des noyaux linux des distribs par defaut, les manips avec hugrstore donnaient un temps variable entre les updates de cycabstate :
  • une bonne moitie des updates ont lieu en moins de 10ms,
  • une autre moitie au dessus de 20ms avec un gros tas entre 30ms et 40ms

Bilan des manips du 27/07/2007:

  • Test avec le log dans un ramdisk :
 mkdir /mnt/ramfs
 mount -t ramfs none /mnt/ramfs -o maxsize=100000
 chmod a+rwx /mnt/ramfs

 hugrlog -o /mnt/ramfs/log cycab_state

  • Conclusion : pas d'amelioration notable.

Compilation d'un noyau Linux avec la config '1000Hz' (scheduler plus fréquent) :

Procedure suivie

  • apt-get install kernel-package fakeroot
    A noter : apt-get n'arrivait pas a contacter les serveurs au.archive.ubuntu..com, j'ai donc du sauvegarder /etc/apt/sources.list en /etc/apt/sources.list.bak et en regenerer un avec source-o-matic :
  root@rcycab:~# cat /etc/apt/sources.list
  # Automatically generated sources.list
  # http://www.ubuntu-nl.org/source-o-matic/
  #
  # If you get GPG errors with this sources.list, locate the GPG key in this file
  # and run these commands (where KEY is replaced with that key)
  #
  # gpg --keyserver hkp://subkeys.pgp.net --recv-keys KEY
  # gpg --export --armor KEY | sudo apt-key add -
  #
  # If you don't know what to do with this file, read
  # https://help.ubuntu.com/community/Repositories/CommandLine
  #
  # Ubuntu supported packages
  # GPG key: 437D05B5
  deb http://fr.archive.ubuntu.com/ubuntu edgy main restricted
  deb-src http://fr.archive.ubuntu.com/ubuntu edgy restricted main multiverse universe #Added by software-properties
  deb http://fr.archive.ubuntu.com/ubuntu edgy-updates main restricted deb-src http://fr.archive.ubuntu.com/ubuntu edgy-updates restricted main multiverse universe #Added by software-properties
  deb http://security.ubuntu.com/ubuntu edgy-security main restricted
  deb-src http://security.ubuntu.com/ubuntu edgy-security restricted main multiverse universe #Added by software-properties
  # 
  # Ubuntu community supported packages
  # GPG key: 437D05B5
  deb http://fr.archive.ubuntu.com/ubuntu edgy universe multiverse
  deb http://fr.archive.ubuntu.com/ubuntu edgy-updates universe multiverse
  deb http://security.ubuntu.com/ubuntu edgy-security universe multiverse
  • Téléchargement noyau, recopie du fichier de conf (dans mon home) :
  tar xjvf /usr/src/linux-source-2.6.15.tar.bz2
  cd linux-source-2.6.15/
  cp -vi /boot/config-`uname -r` .
  • Activation du mode 1000hz par make menuconfig
  fakeroot make-kpkg --initrd --append-to-version=-1000hz kernel_image kernel_headers
  • puis en root :
  dpkg -i linux-image-2.6.15.7-ubuntu1-1000hz_2.6.15.7-ubuntu1-1000hz-10.00.Custom_i386.deb
  dpkg -i linux-headers-2.6.15.7-ubuntu1-1000hz_2.6.15.7-ubuntu1-1000hz-10.00.Custom_i386.deb

Après reboot, on peut choisir le Ubuntu, kernel 2.6.15.7-ubuntu1-1000hz

Le module p7841 compile pour le kernel 2.6.15.7 se charge bien.

Cette fois, CycabServ/hugrstore/hugrlog donne de bien meilleurs résultats, avec une énorme majorité des temps d'update en dessous de 12ms,et un temps max de 25ms (tres rare). Voir le schéma ci-dessous : cycabstate-kernel1000hz.gif.

-- NicolasTurro - 03 Mar 2010
Topic revision: r2 - 31 Jul 2013, SorayaArias
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding SedWiki? Send feedback