看板 Linux 關於我們 聯絡資訊
新手po文 敬請見諒 最近練習在Linux上寫一個簡單的kernel module並建立kthread 目前已經有辦法建立kernel module並建立thread作簡單的for loop 可以遇到一些問題 以下為程式碼 int run(void *data) { int i; for (i=0; i<10; i++) printk("kthread\n"); return 0; } static int kthread_init(void) { threads = kthread_create(run, NULL, "kthread1"); wake_up_process(threads); return 0; } 我在insmod之後去/var/log/messages看log印出來的是 Jun 23 09:17:56 localhost kernel: kthread Jun 23 09:17:56 localhost kernel: last message repeated 9 times 這邊沒有什麼問題 但是當我for loop增加到1000000之後 似乎就沒有辦法正確執行 Jun 23 13:57:16 localhost kernel: kthread Jun 23 13:57:17 localhost kernel: last message repeated 921 times 會變成這個樣子 不是應該要repeat 999999 times才對? 請問有人可以提供一下想法嗎 我想做的是建立幾個thread 然後利用for loop觀察他們在FIFO下的變化 感謝各位囉 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.11.17.212
yvb:純粹太多太快. klogd/syslogd 來不及收吧... 12/19 12:34
henry4343:請問有解決的方法嗎? 設timeout的話可能會跑太久 12/19 13:49
final01:我覺得你先去搞清楚那個message是啥意思吧... 12/19 23:38