Re: [核心] 關於系統初始的thread ksoftirqd_CPU0

看板LinuxDev作者 (xinu)時間17年前 (2008/04/02 00:13), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《xinu (xinu)》之銘言: : 標題: Re: [核心] 關於系統初始的thread ksoftirqd_CPU0 : 時間: Tue Apr 1 22:03:40 2008 : : ※ 引述《phsboy (值得信"賴")》之銘言: : : 最近在做網路入侵偵測的實驗 在自己的開發版上實驗 : : 先說我的uclinux版本是2.4.32 使用的處理器是microblaze處理器 : : 在xilinx ml405平台上面實現 現在遇到了一個問題 在自己的版上面開啟混亂模式 : : 收大量封包後 會造成這個thread ksoftirqd_CPU0 的cpu load會上升 : : 導致真正自己執行的程式 因為cpu資源都被吃掉 量測上面會有很大的誤差 : : 有人知道怎解決的嗎??? : 這是正常的 : ksoftirqd是kernel thread : 他的任務 : 就是去Call system的net rx softirq 去接封包還有其他softirq : 你不給它接封包會掉 : : 再補充一點就是ksoftirqd的出現是為了防止user process starvation : : : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 218.168.209.238 : ※ 編輯: xinu 來自: 218.168.209.238 (04/01 22:18) : 推 phsboy:不好意思請問有解決得辦法嗎 因為這對我做實驗影響很大 04/01 23:32 : → phsboy:沒辦法量到正確的封包量 因為cpu資源都被他吃掉了 04/01 23:32 : → phsboy:更新kernel有差嗎??? 04/01 23:33 重點在於ksoftirqd一旦拿了cpu後就會一直作到沒有softirq了或時間到了才結束 這樣算起來他當然是load很高, 因為沒有人可以中斷它除了timer interrupt 解決方法是... 你的ethernet driver看有沒有一個選項NAPI Support把它開起來 如果沒有你的公板應該可以換ethernet adaptor 麻煩你換一張有NAPI的 還有, 記得renice你的測試程式,假設你的pid==100 ex. renice -19 -p 100 另外以下是不負責任的方法.. 調一下系統的HZ值, 看看有沒有改善 (從kernel裡應該可以調) HZ越小reponse time應該越快...(我自己猜想,不負責...) 另外...你執行的程式難道不能offline測嗎? 可以先存成pcap檔再慢慢去用程式分析? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.168.209.238
文章代碼(AID): #17ybynOT (LinuxDev)
文章代碼(AID): #17ybynOT (LinuxDev)