Skip to content

Instantly share code, notes, and snippets.

@Jerry-Fix
Created August 24, 2013 16:43
Show Gist options
  • Save Jerry-Fix/6329138 to your computer and use it in GitHub Desktop.
Save Jerry-Fix/6329138 to your computer and use it in GitHub Desktop.
I spend some time to have some test, all are redhat 6.2, here is the test.
1. Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet(bnx2), host8, E5606x2
# lspci | grep net
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
01:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
02:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
# lspci -vvvv
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
Subsystem: Dell PowerEdge R610 BCM5709 Gigabit Ethernet
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 36
Region 0: Memory at d6000000 (64-bit, non-prefetchable) [size=32M]
Capabilities: [48] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] Vital Product Data
Product Name: Broadcom NetXtreme II Ethernet Controller
Read-only fields:
[PN] Part number: BCM95709C0
[EC] Engineering changes: 220197-2
[SN] Serial number: 0123456789
[MN] Manufacture ID: 31 30 32 38
[V0] Vendor specific: 6.2.12
[RV] Reserved: checksum good, 22 byte(s) reserved
End
Capabilities: [58] MSI: Enable- Count=1/16 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [a0] MSI-X: Enable+ Count=9 Masked-
Vector table: BAR=0 offset=0000c000
PBA: BAR=0 offset=0000e000
Capabilities: [ac] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <4us, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+
RlxdOrd+ ExtTag- PhantFunc- AuxPwr+ NoSnoop+
MaxPayload 256 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM L0s L1, Latency L0 <2us, L1 <2us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+
DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB
Capabilities: [100] Device Serial Number 14-fe-b5-ff-fe-da-84-0f
Capabilities: [110] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt+ UnxCmplt+ RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP+ FCP+ CmpltTO+ CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC+ UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
CEMsk: RxErr- BadTLP+ BadDLLP+ Rollover+ Timeout+ NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [150] Power Budgeting <?>
Capabilities: [160] Virtual Channel <?>
Kernel driver in use: bnx2
Kernel modules: bnx2
# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1
Core(s) per socket: 4
CPU socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 44
Stepping: 2
CPU MHz: 2128.094
BogoMIPS: 4255.89
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0,2,4,6
NUMA node1 CPU(s): 1,3,5,7
# cat /proc/interrupts | grep em
61: 9578 19 0 0 0 0 0 0 PCI-MSI-edge em1-0
62: 4771 254 0 0 0 0 0 0 PCI-MSI-edge em1-1
63: 29 1103 0 0 0 0 0 0 PCI-MSI-edge em1-2
64: 32 1118 0 0 0 0 0 0 PCI-MSI-edge em1-3
65: 108444 74 0 0 0 0 0 0 PCI-MSI-edge em1-4
66: 27 2074 0 0 0 0 0 0 PCI-MSI-edge em1-5
67: 1539 0 0 0 0 0 0 0 PCI-MSI-edge em1-6
68: 24 2330 0 0 0 0 0 0 PCI-MSI-edge em1-7
# echo 0-7 > /proc/irq/61/smp_affinity_list
# echo 0-7 > /proc/irq/62/smp_affinity_list
# echo 0-7 > /proc/irq/63/smp_affinity_list
# echo 0-7 > /proc/irq/64/smp_affinity_list
# echo 0-7 > /proc/irq/65/smp_affinity_list
# echo 0-7 > /proc/irq/66/smp_affinity_list
# echo 0-7 > /proc/irq/67/smp_affinity_list
# echo 0-7 > /proc/irq/68/smp_affinity_list
# cat /proc/irq/6?/smp_affinity_list
0-7
0-7
0-7
0-7
0-7
0-7
0-7
0-7
# cat /proc/irq/6?/smp_affinity
000000ff
000000ff
000000ff
000000ff
000000ff
000000ff
000000ff
000000ff
Create traffic using iperf with -P parameter(multi thread), and the interrupts did not distrubuted as I expected, they are just like the below test as irq 61 for core 0, irq 62 for core 1... What I expect to see is irq 61 is distributed from core 0 to core 7, irq 62 is also distrubuted from core 0 to core 7, not to a dedicated core.
Then, I bind each queue(interrupt) to each core:
# echo 0 > /proc/irq/61/smp_affinity_list
# echo 1 > /proc/irq/62/smp_affinity_list
# echo 2 > /proc/irq/63/smp_affinity_list
# echo 3 > /proc/irq/64/smp_affinity_list
# echo 4 > /proc/irq/65/smp_affinity_list
# echo 5 > /proc/irq/66/smp_affinity_list
# echo 6 > /proc/irq/67/smp_affinity_list
# echo 7 > /proc/irq/68/smp_affinity_list
# cat /proc/irq/6?/smp_affinity_list
0
1
2
3
4
5
6
7
# cat /proc/irq/6?/smp_affinity
00000001
00000002
00000004
00000008
00000010
00000020
00000040
00000080
The result is as I expected, irq 61 dedicated to core 0, irq 62 dedicated to core 1...
So test 1 is really confusing, and test 2 is clear.
2. Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet(bnx2), host5, E5606x2
# lspci | grep net
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20)
01:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20)
# lspci -vvv
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20)
Subsystem: Dell PowerEdge R410 BCM5716 Gigabit Ethernet
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 36
Region 0: Memory at da000000 (64-bit, non-prefetchable) [size=32M]
Capabilities: [48] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] Vital Product Data
Product Name: Broadcom NetXtreme II Ethernet Controller
Read-only fields:
[PN] Part number: BCM95716C1
[EC] Engineering changes: 220197-3
[SN] Serial number: 0123456789
[MN] Manufacture ID: 31 30 32 38
[V0] Vendor specific: 6.2.12
[RV] Reserved: checksum good, 22 byte(s) reserved
End
Capabilities: [58] MSI: Enable- Count=1/16 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [a0] MSI-X: Enable+ Count=9 Masked-
Vector table: BAR=0 offset=0000c000
PBA: BAR=0 offset=0000e000
Capabilities: [ac] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <4us, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+
RlxdOrd+ ExtTag- PhantFunc- AuxPwr+ NoSnoop+
MaxPayload 256 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM L0s L1, Latency L0 <2us, L1 <2us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+
DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB
Capabilities: [100] Device Serial Number 78-2b-cb-ff-fe-43-b5-08
Capabilities: [110] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt+ UnxCmplt+ RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP+ FCP+ CmpltTO+ CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC+ UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
CEMsk: RxErr- BadTLP+ BadDLLP+ Rollover+ Timeout+ NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [150] Power Budgeting <?>
Capabilities: [160] Virtual Channel <?>
Kernel driver in use: bnx2
Kernel modules: bnx2
# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 8
Thread(s) per core: 1
Core(s) per socket: 4
CPU socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 44
Stepping: 2
CPU MHz: 2127.930
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0,2,4,6
NUMA node1 CPU(s): 1,3,5,7
# cat /proc/interrupts | grep eth
59: 433533 0 0 1 0 12691162 0 0 PCI-MSI-edge eth0-0
60: 7931736 1525662 12127904 0 53 0 70 58412 PCI-MSI-edge eth0-1
61: 114719 3 626859 21945507 0 0 0 0 PCI-MSI-edge eth0-2
62: 59 0 324 802009 179 148494 21672640 0 PCI-MSI-edge eth0-3
63: 30 71 80 153663 21539313 33 0 0 PCI-MSI-edge eth0-4
64: 21 4 0 0 0 778691 0 25031761 PCI-MSI-edge eth0-5
65: 21 110866 52144714 5 0 0 813106 6 PCI-MSI-edge eth0-6
66: 23 27450909 0 0 0 0 0 1679245 PCI-MSI-edge eth0-7
The result is similar to the above, when I set like this, does not work as expected:
# echo 0-7 > /proc/irq/59/smp_affinity_list
# echo 0-7 > /proc/irq/60/smp_affinity_list
# echo 0-7 > /proc/irq/61/smp_affinity_list
# echo 0-7 > /proc/irq/62/smp_affinity_list
# echo 0-7 > /proc/irq/63/smp_affinity_list
# echo 0-7 > /proc/irq/64/smp_affinity_list
# echo 0-7 > /proc/irq/65/smp_affinity_list
# echo 0-7 > /proc/irq/66/smp_affinity_list
When I set like this, it is ok:
#echo 0 > /proc/irq/59/smp_affinity_list
#echo 1 > /proc/irq/60/smp_affinity_list
#echo 2 > /proc/irq/61/smp_affinity_list
#echo 3 > /proc/irq/62/smp_affinity_list
#echo 4 > /proc/irq/63/smp_affinity_list
#echo 5 > /proc/irq/64/smp_affinity_list
#echo 6 > /proc/irq/65/smp_affinity_list
#echo 7 > /proc/irq/66/smp_affinity_list
3. Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe (tg3), hostlvs1, E5-2430x2
# lspci | grep net
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
02:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
# lspci -vvv
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
Subsystem: Dell Device 04f8
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 16
Region 0: Memory at d90a0000 (64-bit, prefetchable) [size=64K]
Region 2: Memory at d90b0000 (64-bit, prefetchable) [size=64K]
Region 4: Memory at d90c0000 (64-bit, prefetchable) [size=64K]
Expansion ROM at dd000000 [disabled] [size=256K]
Capabilities: [48] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] Vital Product Data
Product Name: Broadcom NetXtreme Gigabit Ethernet
Read-only fields:
[PN] Part number: BCM95720
[MN] Manufacture ID: 31 30 32 38
[V0] Vendor specific: FFV7.4.8
[V1] Vendor specific: DSV1028VPDR.VER1.0
[V2] Vendor specific: NPY2
[V3] Vendor specific: PMT1
[V4] Vendor specific: NMVBroadcom Corp
[V5] Vendor specific: DTINIC
[V6] Vendor specific: DCM1001008d452101008d45
[RV] Reserved: checksum good, 235 byte(s) reserved
End
Capabilities: [58] MSI: Enable- Count=1/8 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [a0] MSI-X: Enable+ Count=17 Masked-
Vector table: BAR=4 offset=00000000
PBA: BAR=4 offset=00001000
Capabilities: [ac] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
DevCtl: Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+
RlxdOrd- ExtTag- PhantFunc- AuxPwr+ NoSnoop- FLReset-
MaxPayload 128 bytes, MaxReadReq 2048 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #0, Speed 5GT/s, Width x2, ASPM L0s L1, Latency L0 <1us, L1 <2us
ClockPM+ Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+
DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB
Capabilities: [100] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt+ UnxCmplt+ RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP+ FCP+ CmpltTO+ CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC+ UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
CEMsk: RxErr- BadTLP+ BadDLLP+ Rollover+ Timeout+ NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [13c] Device Serial Number 00-00-90-b1-1c-37-9f-07
Capabilities: [150] Power Budgeting <?>
Capabilities: [160] Virtual Channel <?>
Kernel driver in use: tg3
Kernel modules: tg3
# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 24
On-line CPU(s) list: 0-23
Thread(s) per core: 2
Core(s) per socket: 6
CPU socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 45
Stepping: 7
CPU MHz: 2199.539
BogoMIPS: 4399.41
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 15360K
NUMA node0 CPU(s): 0,2,4,6,8,10,12,14,16,18,20,22
NUMA node1 CPU(s): 1,3,5,7,9,11,13,15,17,19,21,23
# cat /proc/interrupts | grep em1
104: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge em1-0
105: 20208495 1168670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge em1-1
106: 4851065 0 364270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge em1-2
107: 20 6879492 0 332342 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge em1-3
108: 4253731 428386 0 0 518654 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge em1-4
When I set like this:
# cat /proc/irq/10[4-8]/smp_affinity_list
0
1
2
3
4
There aren't any interrupts to core 0 at all, but core 1 to core 4 just work as expected.
When I set as this:
# cat /proc/irq/10[4-8]/smp_affinity_list
0-23
0-23
0-23
0-23
0-23
The same as the test 1, really strange.
4. Intel Corporation I350 Gigabit Network Connection(igb), host23, E5-2630x2
# lspci | grep net
01:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
01:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
01:00.2 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
01:00.3 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
# lspci -vvv
01:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
Subsystem: Dell Intel GbE 4P I350crNDC
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin D routed to IRQ 38
Region 0: Memory at dcb00000 (32-bit, non-prefetchable) [size=1M]
Region 2: I/O ports at fc80 [size=32]
Region 3: Memory at dcff0000 (32-bit, non-prefetchable) [size=16K]
Expansion ROM at dc000000 [disabled] [size=512K]
Capabilities: [40] Power Management version 3
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Address: 0000000000000000 Data: 0000
Masking: 00000000 Pending: 00000000
Capabilities: [70] MSI-X: Enable+ Count=10 Masked-
Vector table: BAR=3 offset=00000000
PBA: BAR=3 offset=00002000
Capabilities: [a0] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
DevCtl: Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
MaxPayload 256 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
LnkCap: Port #0, Speed 5GT/s, Width x4, ASPM L0s L1, Latency L0 <4us, L1 <32us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+
DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB
Capabilities: [e0] Vital Product Data
Product Name: I350 GbE Controller
Read-only fields:
[V0] Vendor specific: FFV13.5.6
[PN] Part number: G10565
[MN] Manufacture ID: 31 30 32 38
[V1] Vendor specific: DSV1028VPDR.VER1.0
[V3] Vendor specific: DTINIC
[V4] Vendor specific: DCM1001008FC52101008FC53201008FC54301008FC5
[V5] Vendor specific: NPY4
[V6] Vendor specific: PMT13
[V7] Vendor specific: NMVIntel Corp
[RV] Reserved: checksum good, 2 byte(s) reserved
End
Capabilities: [100] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt+ UnxCmplt+ RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP+ FCP+ CmpltTO+ CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC+ UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
CEMsk: RxErr+ BadTLP+ BadDLLP+ Rollover+ Timeout+ NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [140] Device Serial Number bc-30-5b-ff-ff-f3-37-df
Capabilities: [150] Alternative Routing-ID Interpretation (ARI)
ARICap: MFVC- ACS-, Next Function: 1
ARICtl: MFVC- ACS-, Function Group: 0
Capabilities: [1a0] Transaction Processing Hints
Device specific mode supported
Steering table in TPH capability structure
Capabilities: [1c0] Latency Tolerance Reporting
Max snoop latency: 0ns
Max no snoop latency: 0ns
Capabilities: [1d0] Access Control Services
ACSCap: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
Kernel driver in use: igb
Kernel modules: igb
# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 24
On-line CPU(s) list: 0-23
Thread(s) per core: 2
Core(s) per socket: 6
CPU socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 45
Stepping: 7
CPU MHz: 2299.574
BogoMIPS: 4600.70
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 15360K
NUMA node0 CPU(s): 0,2,4,6,8,10,12,14,16,18,20,22
NUMA node1 CPU(s): 1,3,5,7,9,11,13,15,17,19,21,23
# cat /proc/interrupts | grep em1
105: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge em1
106: 85308062 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge em1-TxRx-0
107: 87922486 170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge em1-TxRx-1
108: 88712000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge em1-TxRx-2
109: 88028576 1337499 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge em1-TxRx-3
110: 205 86846516 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge em1-TxRx-4
111: 192 86342803 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge em1-TxRx-5
112: 174 87468610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge em1-TxRx-6
113: 329 144261786 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge em1-TxRx-7
When I set like this:
# echo 0-23 > /proc/irq/105/smp_affinity_list
# echo 0-23 > /proc/irq/106/smp_affinity_list
# echo 0-23 > /proc/irq/107/smp_affinity_list
# echo 0-23 > /proc/irq/108/smp_affinity_list
# echo 0-23 > /proc/irq/109/smp_affinity_list
# echo 0-23 > /proc/irq/110/smp_affinity_list
# echo 0-23 > /proc/irq/111/smp_affinity_list
# echo 0-23 > /proc/irq/112/smp_affinity_list
# echo 0-23 > /proc/irq/113/smp_affinity_list
all interrupts goes to core 0 and core 1 , no other core. Also irq 105 may be different for other irqs, because it has no "-TxRx-NUM" suffix.
When I set:
# echo 0 > /proc/irq/105/smp_affinity_list
# echo 1 > /proc/irq/106/smp_affinity_list
# echo 2 > /proc/irq/107/smp_affinity_list
# echo 3 > /proc/irq/108/smp_affinity_list
# echo 4 > /proc/irq/109/smp_affinity_list
# echo 5 > /proc/irq/110/smp_affinity_list
# echo 6 > /proc/irq/111/smp_affinity_list
# echo 7 > /proc/irq/112/smp_affinity_list
# echo 8 > /proc/irq/113/smp_affinity_list
all goes well except irq 105, and it has not any interrput at all.
So, after all the test, some setting's results are as expected, but others not. I'm confused at this. Please have a look, thank you.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment