kernel workqueue 一点使用注意事项

原创 2015年03月05日 11:19:16


keventd_wq 是kernel里面全局的一个workqueue, 相关的接口有:
schedule_work
schedule_work_on(特定cpu)
schedule_delayed_work
schedule_delayed_work_on(特定cpu)
flush_scheduled_work
每个cpu上都有一个events的kernel thread去处理keventd_wq上的工作.


如果要放到workqueue里面的工作不会耗费很多时间或者工作量很大,则可以考虑放到这个全局的workqueue里面去.
但是如果需要做的"work"很多,很花时间,可以使用create_singlethread_workqueue来创建一个独立workqueue,交给一个单独的kernel thread去处理,
这样不会影响其他也提交给内核的全局workqueue(keventd_wq)去做的"work".

Linux workqueue工作原理

1. 什么是workqueue        Linux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线...
  • MyArrow
  • MyArrow
  • 2012-10-19 17:02:37
  • 31411

Linux kernel 中的work queue原理

  分成两大部分,第一部分是用来执行work queue中每个节点上挂载的函数的内核线程,第二部分是从驱动程序的角度看work queue的使用。第一部分 worker_thread内核线程Linux...
  • kenxausten
  • kenxausten
  • 2010-12-14 10:58:00
  • 5994

Linux workqueue疑问

各位大神,你们好。我在使用workqueue的过程中遇到一个问题。 项目采用uClinux系统,VoIP相关的。 现有两个驱动,一个是负责数据传输的,还有一个是负责打电话的。这两个驱动里分别使用了一个...
  • angle_birds
  • angle_birds
  • 2013-07-20 00:53:37
  • 2536

workqueue 用法实例

struct my_work_stuct{ int test; struct work_stuct save; }; struct my_work_stuct test_work; ...
  • newtonnl
  • newtonnl
  • 2016-01-20 16:16:52
  • 1379

工作队列 schedule_delayed_work/schedule_work_on/schedule_work函数内核实现

文章源自于:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3641752 int schedule_work(struct work_...
  • xiaowen_10
  • xiaowen_10
  • 2012-09-19 17:07:10
  • 4479

linux kernel 内核定时器

1.涉及函数// 1. 初始化定时器队列结构 init_timer(&buttons_timer);// 2. 定时器超时函数 buttons_timer.function = but...
  • u012719256
  • u012719256
  • 2016-09-26 11:27:03
  • 3717

linux work queue的两种调度方式

第一种使用schedule_work手动调度: #include linux/init.h> #include linux/module.h> #include linux/timer.h>...
  • u012719256
  • u012719256
  • 2016-09-25 17:26:15
  • 1324

kernel workqueue 一点使用注意事项

keventd_wq 是kernel里面全局的一个workqueue, 相关的接口有: schedule_work schedule_work_on(特定cpu) schedule_delaye...
  • jackjones_008
  • jackjones_008
  • 2015-03-05 11:19:16
  • 384

Linux 工作队列( Work Queue)

1 工作队列的接口函数
  • firefox_1980
  • firefox_1980
  • 2014-11-13 13:27:59
  • 1866

linux 工作队列(workqueue)

在处理内核相关工作中, 我们经常看到工作队列(workqueue)的身影. 本文描述何为 linux workqueue.本文基于 2.6.32 的内核, 此时的工作队列还不是 cmwq. 为什...
  • liuxd3000
  • liuxd3000
  • 2012-06-28 17:45:06
  • 2493
收藏助手
不良信息举报
您举报文章:kernel workqueue 一点使用注意事项
举报原因:
原因补充:

(最多只允许输入30个字)