Re: [核心] 關於系統初始的thread ksoftirqd_CPU0
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章