GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar una devolución de llamada del temporizador periódico en un módulo del kernel de Linux

Temporizador de alta resolución del kernel de Linux hrtimer es una opción.http://lwn.net/Articles/167897/

Aquí lo que hago:

#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. Cómo actualizar Kernel en Linux Desktop

  2. Linux:¿cómo determinar qué módulo contamina el kernel?

  3. Linux:¿cómo recargar correctamente un módulo del kernel?

  4. Cambiar el temporizador del kernel de Linux

  5. ¿Cómo codificar un módulo del kernel de Linux?

Cómo cargar y descargar módulos del kernel en Linux

Comando Modprobe en Linux

Cómo configurar actualizaciones automáticas del kernel en Linux

Cómo configurar instantáneamente un servidor de archivos estático en Linux

Cómo configurar actualizaciones automáticas del kernel en Linux

Cómo instalar el módulo 'Python-Pexpect' en Linux