GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare una richiamata periodica del timer in un modulo del kernel Linux

Timer ad alta risoluzione del kernel Linux hrtimer è un'opzione.http://lwn.net/Articles/167897/

Ecco cosa faccio:

#include <linux/interrupt.h>
#include <linux/hrtimer.h>
#include <linux/sched.h>

static struct hrtimer htimer;
static ktime_t kt_periode;

static void timer_init(void)
{
    kt_periode = ktime_set(0, 104167); //seconds,nanoseconds
    hrtimer_init (& htimer, CLOCK_REALTIME, HRTIMER_MODE_REL);
    htimer.function = timer_function;
    hrtimer_start(& htimer, kt_periode, HRTIMER_MODE_REL);
}

static void timer_cleanup(void)
{
    hrtimer_cancel(& htimer);
}

static enum hrtimer_restart timer_function(struct hrtimer * timer)
{
    // @Do your work here. 

    hrtimer_forward_now(timer, kt_periode);

    return HRTIMER_RESTART;
}

Linux
  1. Linux:come determinare quale modulo contamina il kernel?

  2. Linux:un kernel contaminato in Linux?

  3. Come creare, compilare e caricare moduli del kernel caricabili LKM Linux

  4. Come scrivere il tuo modulo del kernel Linux con un semplice esempio

  5. Cambia il timer del kernel linux

Come caricare e scaricare i moduli del kernel in Linux

Comando Modprobe in Linux

Come impostare gli aggiornamenti automatici del kernel su Linux

Come configurare istantaneamente un file server statico in Linux

Come impostare gli aggiornamenti automatici del kernel su Linux

Come installare il modulo "Python-Pexpect" in Linux