/* * 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"); } static int __init sched_init(void) { queue = alloc_workqueue("HELLOWORLD", WQ_UNBOUND, 1); INIT_WORK(&work, work_handler); queue_work(queue, &work); return 0; } static void __exit sched_exit(void) { destroy_workqueue(queue); } module_init(sched_init); module_exit(sched_exit); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Workqueue example");