免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5058 | 回复: 17
打印 上一主题 下一主题

关于kernel_thread函数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-26 14:28 |只看该作者 |倒序浏览
请问内核下开线程函数kernel_thread如果在软中断中开辟一个线程
那么这个线程属于软中断的一部分吗?
我现在在软中断中要访问一个队列 而这个在软中断中由kernel_thread开辟的线程中也要访问这个队列
这就涉及到加锁的问题,不知道这个线程属于那部分就没有办法知道加什么锁,请知道的朋友赐教

论坛徽章:
0
2 [报告]
发表于 2008-12-26 15:24 |只看该作者
加锁和“属于那部分”有什么联系?锁是资源的吧

论坛徽章:
0
3 [报告]
发表于 2008-12-26 15:27 |只看该作者
楼上的当然有联系了,如果我开的线程不属于软中断的话我就的加spin_lock_bh如果要是的华我就不用加BH了
因为软中断只能执行一个

论坛徽章:
0
4 [报告]
发表于 2008-12-26 15:32 |只看该作者
在软中断中不能调用kernel_thread
只能在进程上下文创建新的线程/进程

论坛徽章:
0
5 [报告]
发表于 2008-12-26 16:14 |只看该作者
楼上的朋友您确定马?
我这里已经在软中断中调用了阿,并且已经测试成功了。
就是锁还没有加可能还出错,望指教。

论坛徽章:
0
6 [报告]
发表于 2008-12-26 16:33 |只看该作者
第一, 不应该在softirq中调用kernel_thread;

第二, 根本就不应该调用kernel_thread! 请参考Documentation/feature-removal-schedule.txt

论坛徽章:
0
7 [报告]
发表于 2008-12-26 18:40 |只看该作者
用kthread_create就好了

论坛徽章:
0
8 [报告]
发表于 2008-12-26 22:25 |只看该作者
为什么要使用内核线程?
要干什么直接就在软中断中做了就行了。

论坛徽章:
0
9 [报告]
发表于 2008-12-27 13:41 |只看该作者
我是新人,问个相关问题:
我在内核模块重注册了这样一个设备:
static struct file_operations dummy_dev_ops = {
        .owner = THIS_MODULE,
        .open = dummy_open,
        .read = dummy_read,
        .write = dummy_write,
        .ioctl = dummy_ioctl
};
当读写这个设备时,会调用dummy_open和dummy_write函数,这个是不是也算软中断?
在这些函数中,如果有较复杂和占时间的处理任务(比如可能花时5s)又该怎么办呢?

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
10 [报告]
发表于 2008-12-27 21:11 |只看该作者
What:   remove EXPORT_SYMBOL(kernel_thread)
When:   August 2006
Files:  arch/*/kernel/*_ksyms.c
Check:  kernel_thread
Why:    kernel_thread is a low-level implementation detail.  Drivers should
        use the <linux/kthread.h> API instead which shields them from
        implementation details and provides a higherlevel interface that
        prevents bugs and code duplication
Who:    Christoph Hellwig <hch@lst.de>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP