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
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 :
.
--
NicolasTurro - 03 Mar 2010