Chinaunix

标题: 多核下中断均衡的问题 [打印本页]

作者: Godbach    时间: 2010-07-22 16:42
标题: 多核下中断均衡的问题
最近也在了解多核中断均衡的问题。

这里有一个问题:

编译内核的时候,有一个配置项是CONFIG_IRQBALANCE,这个是配置中断均衡的。
另一个就是内核选项配置了CONFIG_SMP的时候,会生成一个proc文件,即/proc/irq/[n]/smp_affinity,应该是配置中断与CPU亲和的。

还有一个情况,如果我没有配置CONFIG_IRQBALANCE时,/proc/irq/[n]/smp_affinity好像默认为ffffffff,也就是该中断会对应所有的CPU。
如果我配置了这个选项,其值是01,可能也会是别的值,应该是明确说明该中断对应到某个具体的CPU上。

这两个应该都是起到中断均衡作用的。它们的区别在于何处呢?
作者: kgn28    时间: 2010-07-22 17:20
回复 1# Godbach


    我的2.6.30.10没有发现这个选项{:3_195:}
作者: Godbach    时间: 2010-07-22 17:33
回复  Godbach


    我的2.6.30.10没有发现这个选项
kgn28 发表于 2010-07-22 17:20

你说的是CONFIG_IRQBALANCE吗,我的是2.6.24的内核
作者: kgn28    时间: 2010-07-22 22:18
回复 3# Godbach


    恩,是这个选项,没找到,我find了整个目录都没有。
作者: Godbach    时间: 2010-07-23 09:12
那这个/proc/irq/[n]/smp_affinity文件有吗
作者: kgn28    时间: 2010-07-23 09:38
有的:
[root@localhost src]# ls /proc/irq/0/smp_affinity
/proc/irq/0/smp_affinity
[root@localhost src]# cat /proc/irq/0/smp_affinity
ffff
回复 5# Godbach
作者: platinum    时间: 2010-07-23 09:51
编译时不选择 CONFIG_IRQBALANCE 的话,设置 irq 的亲和性有效吗?
设置与不设置 CONFIG_IRQBALANCE,在指定亲和性时效果有差异吗?
作者: wzhuzhu    时间: 2010-07-23 11:37
本帖最后由 wzhuzhu 于 2010-07-23 11:39 编辑

我的测试[相同的内核和设置]:
我使用2.6.32的内核没有这个选项:CONFIG_IRQBALANCE。
在部分主板和CPU下面使用,如果不将smp_affinity 的中断指定到不同的CPU,那么所有中断都集中在第一个CPU上。
[在945G/ICH7 网卡82574L CPU: Atom 330]

在部分主板和CPU上不舍只smp_affinity,使用默认值,中断会进行均衡。
[G41 /ICH7 网卡82574L CPU:E5300  ]
作者: wzhuzhu    时间: 2010-07-23 11:41
会均衡的情况:
[G41 /ICH7 网卡82574L CPU:E5300  ]
  1. 30:      58887      58739   PCI-MSI-edge      ahci
  2. 31:   11033495   10944356   PCI-MSI-edge      eth0-Q0
  3. 32:          2          0   PCI-MSI-edge      eth0
  4. 33:   12587258   12675847   PCI-MSI-edge      eth1-Q0
  5. 34:          2          0   PCI-MSI-edge      eth1
  6. 35:      51640      52056   PCI-MSI-edge      eth2-Q0
  7. 36:          1          1   PCI-MSI-edge      eth2
复制代码
不均衡的情况:
945G/ICH7 网卡82574L CPU: Atom 330]
  1. 28:    1189032          0          0          0   PCI-MSI-edge      eth0-Q0
  2. 29:          2          0          0          0   PCI-MSI-edge      eth0
  3. 30:     218501          0          0          0   PCI-MSI-edge      eth1-Q0
  4. 31:          3          0          0          0   PCI-MSI-edge      eth1
  5. 32:  130906795          0          0          0   PCI-MSI-edge      eth2-Q0
  6. 33:         70          0          0          0   PCI-MSI-edge      eth2
复制代码

作者: platinum    时间: 2010-07-23 12:03
回复 9# wzhuzhu
在 945G/ICH7 网卡82574L CPU: Atom 330 平台上可以通过设置亲和 3 来实现平均分配吗?

在可以自动均衡的平台上,默认的亲和码是多少?
作者: godbach    时间: 2010-07-23 13:13
默认均衡好像是全f
作者: wzhuzhu    时间: 2010-07-23 13:16
本帖最后由 wzhuzhu 于 2010-07-23 13:18 编辑

回复 10# platinum
1, 可以设置将一个中断设置到另外一个CPU上。但是不能同时设置到2个CPU上,让他自己去均衡。
2, 默认的值为:3 [在E5300 CPU的硬件配置上], f[在Atom 330的硬件配置上]
作者: Godbach    时间: 2010-07-23 13:58
1, 可以设置将一个中断设置到另外一个CPU上。但是不能同时设置到2个CPU上,让他自己去均衡。

意思是不能设置为3?
作者: wzhuzhu    时间: 2010-07-23 14:48
意思是不能设置为3?
Godbach 发表于 2010-07-23 13:58

是的,设置为3等其它涵盖超过1个CPU的值不生效。[在Atom的硬件体系下是这样]
作者: platinum    时间: 2010-07-23 15:05
是的,设置为3等其它涵盖超过1个CPU的值不生效。[在Atom的硬件体系下是这样]
wzhuzhu 发表于 2010-07-23 14:48



有什么规律吗?
和主板有关,还是和网卡型号有关,还是和 CPU 有关,还是都有关系?
作者: Godbach    时间: 2010-07-23 15:16
我这边一些没有配置的,全都是ffffffff
CPU是Intel(R) Xeon(R) CPU            5110
作者: wzhuzhu    时间: 2010-07-26 09:35
有什么规律吗?
和主板有关,还是和网卡型号有关,还是和 CPU 有关,还是都有关系?
platinum 发表于 2010-07-23 15:05


这两个主板的网卡都是一样的,就是南北桥芯片组和CPU不一样.

另:内核处 Processor family 选择Atom不知道是不是会改善该问题,我目前还没有机会测试。
作者: linux初学三月    时间: 2010-07-26 14:53
这两个主板的网卡都是一样的,就是南北桥芯片组和CPU不一样.

另:内核处 Processor family 选择Atom不 ...
wzhuzhu 发表于 2010-07-26 09:35



    内核处 Processor family 选择Atom必须对应的CPU才能有所改善
作者: 20040925    时间: 2011-06-15 17:59
有什么进展吗?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2