作者xinu (xinu)
看板LinuxDev
标题Re: [核心] 关於系统初始的thread ksoftirqd_CPU0
时间Wed Apr 2 00:13:36 2008
※ 引述《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