内核版本3.13.8;
实验平台:虚拟机 unbuntu14.04
1、编辑文件“mymod.c”
#include <linux/module.h>
#include <linux/timer.h>
#include <linux/errno.h>
static int sec =5;
module_param (sec,int, S_IRUGO|S_IWUSR );
MODULE_PARM_DESC(SEC,"Set the intervel.");
static void mymod_timer(unsigned long data);
static DEFINE_TIMER(timer,mymod_timer,0,0);
static void mymod_timer(unsigned long data)
{
printk (KERN_INFO"mymod: timer\n");
mod_timer(&timer,jiffies + sec *HZ);
}
static int mymod_init(void)
{
printk (KERN_INFO"mymod: init\n");
if(sec<=0)
{
printk (KERN_INFO"Invalid intercal sec=%d\n",sec);
return -EINVAL;
}
mod_timer(&t