4 The Setup To The Interrupted Cpu Of The Interrupt Handler In Linux - Hitachi GVX-CC64G*BX User Manual

Gigabit fibre channel adapter
Table of Contents

Advertisement

4
The setup to the interrupted CPU
of the interrupt handler in Linux
This chapter explains the setup of the interrupted CPU of the interrupt handler in Linux.
In Linux, the interrupt handlers may concentrate on one CPU, and one CPU may perform
the interruption processing.
For example, many of the end interruption of I/O processing also goes up to CPU#0, and
CPU#0 performs I/O processing termination processing.
By performing "more /proc/interrupts", the CPU number which processed the interrupt
handler and the interrupt handler, and the number of times of processing can be checked.
An example is shown below.
hfcldd_fx_xrb and hfcldd_fx_shr of the example show the interrupt handler of the Linux
driver corresponding to 16Gbps FC adapter below, and hfcldd_fx_xrb is an interrupt
handler of the end of I/O processing.
Although the number of times of interrupt handler processing of each CPU is shown, this
example is that CPU#0 processed many of processing of the interrupt handler.
Performance decrement may be caused when processing of an interrupt handler
concentrates on one CPU.
Linux has a smp_affinity function, and by using the smp_affinity function, interrupted CPU
of an interrupt handler can be specified, interrupted CPU can be distributed, and it counts
upon performance gain.
# more /proc/interrupts
CPU0
0:
6343633
35:
1817
36:
2167
37:
1762
38:
39:
40:
We describe the procedure of setting the interrupted CPU to below by a smp_affinity
function.
CPU1
CPU2
0
0
45
115
0
45
110
21
330
0
0
0
0
0
4
0
0
50
CPU3
0 IR-IO-APIC-edge
17 IR-PCI-MSI-edge
32 IR-PCI-MSI-edge
0 IR-PCI-MSI-edge
0 IR-PCI-MSI-edge
0 IR-PCI-MSI-edge
0 IR-PCI-MSI-edge
timer
hfcldd_fx_xrb
hfcldd_fx_xrb
hfcldd_fx_shr
hfcldd_fx_xrb
hfcldd_fx_xrb
hfcldd_fx_shr

Advertisement

Table of Contents
loading

Table of Contents