/* * sched.c */ #include #include #include static struct workqueue_struct *queue = NULL; static struct work_struct work; static void work_handler(struct work_struct *data) { pr_info("work handler function.\n"); } int init_module() { queue = alloc_workqueue("HELLOWORLD", WQ_UNBOUND, 1); INIT_WORK(&work, work_handler); schedule_work(&work); return 0; } void cleanup_module() { destroy_workqueue(queue); } MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Workqueue example");