社区
驱动程序开发区
帖子详情
linux创建工作队列相关问题
binfeng_123
2017-12-06 01:02:01
当在一个模块中创建一个工作队列INIT_WORK()后,通过查资料得知对工作调度有两种方式:schedule_work()马上调度;schedule_delayed_work()延迟一段时间后调度。我的需求是在 echo XXX > /proc/test 时调度,这种方式怎么写?请给出大致框架和需要用到的函数,谢谢。
...全文
1419
2
打赏
收藏
linux创建工作队列相关问题
当在一个模块中创建一个工作队列INIT_WORK()后,通过查资料得知对工作调度有两种方式:schedule_work()马上调度;schedule_delayed_work()延迟一段时间后调度。我的需求是在 echo XXX > /proc/test 时调度,这种方式怎么写?请给出大致框架和需要用到的函数,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
花开花落_fzu
2018-03-26
打赏
举报
回复
在你的模块中创建proc的entry,在你proc entry的write函数里执行调度。
jklinux
2017-12-10
打赏
举报
回复
不是很明白楼主的需求, schedule_work()/queue_work一般用于中断分成顶底半部的处理使用, 避免中断处理过久影响系统实时性的。但echo XXX > /proc/test 是由用户进程来触发,一个进程不会影响其它进程的,所以就用不着工作队列了
(源码)基于
Linux
内核的
工作
队列
模块.zip
# 基于
Linux
内核的
工作
队列
模块 ## 项目简介 本项目是一个基于
Linux
内核的
工作
队列
(workqueue)模块,展示了如何在
Linux
内核中
创建
和使用
工作
队列
来异步执行
工作
任务。
工作
队列
是
Linux
内核中用于将
工作
(函数)放入
队列
中,由内核线程异步执行的一种机制。该模块通过
工作
队列
执行特定任务,并展示其基本用法和机制。 ## 主要特性和功能 1.
创建
工作
队列
模块初始化时,
创建
一个名为"mywq"的
工作
队列
。 2. 分配
工作
任务在初始化函数中,分配内存给自定义数据结构wsdata,并设置其数据为"hello, world"。 3. 初始化
工作
结构初始化
工作
结构,并将其加入到
工作
队列
中。 4.
工作
处理函数定义了一个
工作
处理函数workhandler,当
工作
被调度执行时,该函数会被调用,并打印传递给它的数据。
linux
的
工作
队列
,
一个 struct work_struct 结构体代表了一个实际的
工作
,
工作
再被添加到
工作
队列
之前要指定
工作
的函数,使用#define INIT_WORK(_work, _func) 宏定义初始化一个
工作
. _work 是
工作
的地址._func 是
工作
的函数.注意: 如果一个
工作
已经在
工作
队列
中还未执行完成则在此放入则不会再次执行. 还有一点, 一个
工作
队列
中可以放入多个
工作
,但是一个
工作
阻塞其他
工作
也是无法执行.
工作
初始化好了,就可以把
工作
添加进
工作
队列
中,
工作
队列
就会自动执行
工作
了.
linux
内核
工作
队列
内核
工作
队列
概述
工作
队列
(workqueue)是另外一种将
工作
推后执行的形式,
工作
队列
可以把
工作
推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行,最重要的就是
工作
队列
允许被重新调度甚至睡眠。
linux
workqueue
工作
原理
linux
系统启动期间会
创建
名为kworker/u:x(x是0开始的整数,表示CPU编号)
工作
者内核线程,该线程
创建
之后处于sleep状态。从调度器
linux
驱动35:
工作
队列
linux
驱动35:
工作
队列
Linux
工作
队列
(Workqueue):概念与实现
工作
队列
(Workqueue)是
Linux
内核提供的一种机制,用于将任务推迟到将来某个时间点在进程上下文中执行。与软中断和任务
队列
不同,
工作
队列
允许任务在进程上下文中运行,这意味着它们可以睡眠和使用所有的内核API。在
Linux
内核中,
工作
队列
由表示,
工作
项由表示。你可以使用函数
创建
一个新的
工作
队列
,并使用INIT_WORK宏初始化一个
工作
项。return 0;
工作
队列
(Workqueue)是
Linux
内核中用于延迟执行任务的一种机制。
驱动程序开发区
1,324
社区成员
2,170
社区内容
发帖
与我相关
我的任务
驱动程序开发区
主要是开发驱动技术
复制链接
扫一扫
分享
社区描述
主要是开发驱动技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章