看板 LinuxDev 關於我們 聯絡資訊
※ 引述《chilam22 (chilam)》之銘言: : 我在driver裡create兩個kernel thread, : thread A在loop裡輸出1, thread B在loop裡輸出2, : 如果我在loop裡不做sleep之類放棄cpu的動作, : 最後cpu就會一直被某個thread佔據, : 不會有thread切換的情況. : 所以是否kernel thread除非主動放棄, : 不然會一直持有cpu? : 不過書上寫kernel利用time sharing來切換process, : 應該不會讓kernel thread一直持有cpu? kthread也會被scheduling阿. 可是你硬是讓他busy loop, 他每次就會在kernel scheduling的候選名單中. 應該不是一直持有cpu,輪到他當然就是他run拉, 但是全部process也沒幾個,所以感覺很像沒換手. 當然, 如果你在NON-SMP的環境di後在裡面spin, 那就真的hang住了 -- 'TIS better to be vile than vile esteem'd ~William Shakespeare -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.154.142