Re: [問題] create kernel thread in probe

看板LinuxDev作者 (Dear John)時間14年前 (2011/06/17 22:23), 編輯推噓1(107)
留言8則, 4人參與, 最新討論串2/2 (看更多)
我後來用 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)

06/17 22:41, , 1F
直接用 modprobe user_module & 如何?
06/17 22:41, 1F

06/18 00:02, , 2F
因為有特殊需求 一定得 build-in @@
06/18 00:02, 2F

06/18 00:42, , 3F
試著在thread裡用delay,再印出訊息,然後看log
06/18 00:42, 3F

06/18 00:44, , 4F
看是不是真的在一段時間以後才跑
06/18 00:44, 4F

06/18 01:30, , 5F
嗯嗯 thread 有跑到 不過似乎還是會影響initcall的時間?
06/18 01:30, 5F

09/25 15:24, , 6F
應該不會吧, 我有使用過把伊些函數丟道 work_queue
09/25 15:24, 6F

09/25 15:24, , 7F
這樣子probe()的時間真的少很多, 所以你這樣應該是..
09/25 15:24, 7F

09/25 15:25, , 8F
某部份處理有被同步機制保護, 造成互相等待的問題
09/25 15:25, 8F
文章代碼(AID): #1D-sDu5_ (LinuxDev)
討論串 (同標題文章)
文章代碼(AID): #1D-sDu5_ (LinuxDev)