Beiträge von LeCrow

    Hallo gebor,


    weiss nicht ob es Dir weiterhilft aber folgendes kannst Du ausprobieren.


    In der Konsole kannst Du den Befehl


    Code
    xset m 1 0


    verwenden. Aber ich denke nicht, das Du damit einen Mausweg groesser 5 cm hinbekommst.


    Was Aufloesung angeht kann man das glaub ich in der /etc/X11/xorg.conf einstellen.


    Unter


    "Section "InputDevice"


    # generated from default
    Identifier "Mouse0"
    ...


    versuche mal


    Option "Resolution" "600"


    einzufuegen ( oder auch 400 ).


    Mehr faellt mir nicht ein.


    Gruss LeCrow

    Hallo Zusammen,


    kennt jemand eine Loesung bzw. elegante Moeglichkeit mit Kernel > 2.6.18 eine CPU fuer einen bestimmten Prozess zu isolieren?


    Ich habe eine Moeglichkeit gefunden, bin aber nicht zufrieden da immer ein Neustart noetig ist. Es waere klasse eine CPU komplett von allen vorhandenen Prozessen zu isolieren. Nur leider habe ich noch keine Idee hierfuer ohne das Bootscript zu veraendern.


    Fuer Tips bin ich dankbar.


    Eine nervige(Neustart) aber zweckdienliche Loesung (Beispiel mit 2 CPUs):


    In '/etc/init.d/boot' folgendes unter den Header einfuegen

    Code
    taskset -p 0x1 1
    taskset -p 0x1 2


    Die Datei '/etc/init.d/boot' wird als erstes nach dem Erzeugen des Vaters aller Prozess (init mit PID 1) ausgefuehrt.
    Mit der 1. Anweisung im Quellcode veranlasse ich dem System den Prozess mit der PID 1 (init) nur der ersten CPU zuzuweisen. Da 'init' der Urvater ist erhalten alle Kindprozesse die gleiche Maske auf welcher CPU diese erzeugt und laufen duerfen.


    Die 2. Anweisung im Quellcode kuemmert sich um den Prozess kthreadd (PID 2). Dieser wird anscheinend von Prozess init initialisiert, erhaelt aber auch wie init den 'Parent Process Pid' = 0.


    1. Kann es sein, das ich hier falsch liege?
    2. Wo genau wird der Init Prozess erzeugt (Evt. muss das frueher geschehen)?


    Jendenfalls, wenn man das ganze ausprobiert wird man feststellen das Prozesse die von kthreadd 'erben' noch auf einer anderen CPU laufen. Hier nutze ich einen 'dirty' Trick um mir dieses Problem vom Hals zu schaffen.


    mit cpu-hotplug unter '/sys/devices/system/cpu' kann man einzelne cpu's 'rauskicken'.


    Code
    echo 0 > /sys/devices/system/cpu/cpu1/online


    :sollte die 1.CPU (bei einem 2 Kern System) 'deaktivieren'.


    ein

    Code
    cat /proc/cpuinfo
    cat /proc/interrupts


    sollte das bestaetigen.


    Wenn ihr nun die CPU wieder aktiviert bleiben die 'child' Prozesse von kthreadd da wo sie waren.


    Code
    echo 1 > /sys/devices/system/cpu/cpu1/online


    Somit solltet ihr eine CPU frei von allen Prozessen haben.


    Jemand eine bessere Idee? Hat jemand ein Script das alle PID mit taskset auf eine CPU verschiebt?


    Gruss LeCrow

    Schmitzi: Das gettimeofday() obsolete ist habe ich uebersehen.


    So wie ich das aus dieser Manpage ('clock_getres()' - POSIX Programmer's Manual) verstehe, scheint der Zeitstempel bei 'clock_gettime()' und 'clock_settime()' immer ein vielfaches von 'clock_getres()' zu sein.


    Da bei mir bei 'clock_getres()' 1nsec herauskommt, hoffe ich mal das das dann auch so hinhaut.


    Nur zur Info wofuer ich das benoetige:
    Es scheint, das bei mir der Aufruf von clock_gettime() ca. 1 Mikrosekunde benoetigt (Gemittelt aus 1.000.000 aufrufen)
    Unter CUDA kann eine Zeitmessung(Events/Zeitstempel) mit einer Aufloesung von 0.5 Mikrosekunden erfolgen.
    Somit ist ein Vergleich hier in Mikrosekunden moeglich.


    Besten Dank Schmitzi fuer den Tip.
    LeCrow

    Hallo zusammen,
    ich bin auf der Suche nach geeigneten Zeitmessungen unter Linux. Meine Frage bezieht sich auf die minimalen Zeitintervalle der CPU. Im Kernel 2.6.31 betraegt die 'cpu clock resolution' 1nsec durch das hrtimer framework (siehe >cat /proc/timer_list).


    Kann ich nun davon ausgehen, das bei Funktionen wie GetTimeOfDay() nun auch eine Aufloesung von 1nsec moeglich ist? Laut manpage haengt die Aufloesung von der 'system clock' ab. Ich meine sind die gemessenen Microsekunden (GetTimeOfDay) als exakte Messung hinzunehmen?


    Note: Ich dachte bei Linux distributionen mit kernel < 2.6.18 war das bei einem I386 4 Millisekunden.


    Besten Dank
    LeCrow