作者mikeman (Dear John)
看板LinuxDev
标题Re: [问题] create kernel thread in probe
时间Fri Jun 17 22:23:50 2011
我後来用 kthread_run 可以了,不晓得为什麽用 queu_work 会让 kernel hang住..
不过後来有一个问题想请教一下..
用 kernel command line 提供的参数 initcall_debug 所计算的 initcall time
似乎会将 probe 的时间 与 kthread 做完的时间 做加总.
ex: probe 花 400us
kthread 花 400000 us
initcall time 花 400400 us
这样看来.. 好像用 kthread 还是没办法加速 probe 的时间!?
还是说我本来就不能用 initcall 来代表 probe 完的时间?
谢谢!!
※ 引述《mikeman (Dear John)》之铭言:
: 标题: [问题] create kernel thread in probe
: 时间: Thu Jun 16 23:38:16 2011
:
:
: 简要:
: 在 module_init create_singlethread, INIT_WORK
: 在 module_probe queue_work
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 118.169.231.135
: 推 askacis:或许可以参考一下khubd,看kernel怎麽处理usb hub的.... 06/17 01:13
: → elleryq:我想应该是可以的~你试过以後有发现问题吗? 06/17 13:45
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.169.227.244
※ 编辑: mikeman 来自: 118.169.227.244 (06/17 22:24)
1F:→ dou0228:直接用 modprobe user_module & 如何? 06/17 22:41
2F:→ mikeman:因为有特殊需求 一定得 build-in @@ 06/18 00:02
3F:→ elleryq:试着在thread里用delay,再印出讯息,然後看log 06/18 00:42
4F:→ elleryq:看是不是真的在一段时间以後才跑 06/18 00:44
5F:→ mikeman:嗯嗯 thread 有跑到 不过似乎还是会影响initcall的时间? 06/18 01:30
6F:推 eleghost:应该不会吧, 我有使用过把伊些函数丢道 work_queue 09/25 15:24
7F:→ eleghost:这样子probe()的时间真的少很多, 所以你这样应该是.. 09/25 15:24
8F:→ eleghost:某部份处理有被同步机制保护, 造成互相等待的问题 09/25 15:25