这个节是建立内核线程的例子(linux-3.2.36)
就是循环打印,有几个宏我说明一下
KERNEL_THREAD: 用kernel_thread()建立线程
KTHREAD_CREATE: 用kthread_create()建立线程
REALTIME_THREAD:使用fifo调度策略
CNT:打印的次数,自己玩玩吧,不多说了。
#include <linux/sched.h>
#include <linux/module.h>
//#define KERNEL_THREAD
#ifndef KERNEL_THREAD
#define KTHREAD_CREATE
#endif
#define REALTIME_THREAD
#ifdef KERNEL_THREAD
#include <asm/processor.h>
#include <linux/completion.h>
#endif
#ifdef KTHREAD_CREATE
#include <linux/kthread.h>
#endif
#define CNT 5
MODULE_LICENSE("GPL");
static int i = 0;
#ifdef KERNEL_THREAD
static DECLARE_COMPLETION(my_completion);
#endif
#ifdef KTHREAD_CREATE
static struct task_struct *thread_task = NULL;
#endif
static int noop(void *dummy)
{
printk("Thread start!\n");
#ifdef RELTIME_THREAD
struct sched_para