Chinaunix
标题:
Linux kernel 進程問題
[打印本页]
作者:
pigergirl
时间:
2014-05-13 21:20
标题:
Linux kernel 進程問題
小弟想請教個問題,目前寫了kernel module
並且藉由insmod將此模組放入kernel。
module內容包含中斷處理程序(isr)以及tasklet,就是當有外部中斷到來時
首先會執行isr接著在執行tasklet。
現在是希望當沒中斷進來的時間有閒置行程(idle task)可以起來執行。
請問是要去創建kernel thread嗎??? 還是???
作者:
瀚海书香
时间:
2014-05-14 14:56
回复
1#
pigergirl
创建一个不屏蔽中断的kthread就可以了,只要中断一来就进入你的isr处理流程,中断返回后就之前创建的kthread中运行
BTW:看你的繁体字好累的说
作者:
pigergirl
时间:
2014-05-15 23:57
本帖最后由 pigergirl 于 2014-05-16 06:29 编辑
谢谢您的回答,想在请问说,我在此kernel module写入函式让用户态的进程可经由ioctl调用这些函式
1. 如果现在用户态进程调用函式完成后,是会返回用户态进程还是去执行内核态的kthread而再也不返回用户态进程吗???
2. 如果现在用户态进程调用函式遇到阻塞,是去执行内核态的kthread而不返回用户态进程吗????
作者:
senioryzc
时间:
2014-05-16 11:26
你的用户进程调用ioctl调用进入到了内核态
那么当前进程还是 你的用户进程,这个过程不会发生进程切换
无非就是你的进程原来是用户态,现在变成内核态了,还是同一个进程
如果你的函数遇到阻塞,那么你的进程就被切换出去,内核会调度一个别的进程去运行
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2