RFC Optimize irq flow handler
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest25 patches 45 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/25 | ARM, irq: Use irq_desc_get_xxx() to avoid redundant lookup of irq_descarch/ arch/ arch/ | +3 | 1 reply | |
| 2/25 | avr32, irq: Use irq_desc_get_xxx() to avoid redundant lookup of irq_descarch/ | +1 | 1 reply | |
| 3/25 | MIPS, irq: Use irq_desc_get_xxx() to avoid redundant lookup of irq_descarch/ arch/ arch/ +5 more | +10 | 0 replies | |
| 4/25 | powerpc, irq: Use irq_desc_get_xxx() to avoid redundant lookup of irq_descarch/ arch/ arch/ +2 more | +5 | 1 reply | |
| 5/25 | gpio: Use irq_desc_get_xxx() to avoid redundant lookup of irq_descdrivers/ drivers/ drivers/ +7 more | +12 | 2 replies | |
| 6/25 | pinctrl: Use irq_desc_get_xxx() to avoid redundant lookup of irq_descdrivers/ drivers/ drivers/ +13 more | +46 | 1 reply | |
| 7/25 | irqchip: Use irq_desc_get_xxx() to avoid redundant lookup of irq_descdrivers/ drivers/ drivers/ +4 more | +10 | 0 replies | |
| 8/25 | mfd: Use irq_desc_get_xxx() to avoid redundant lookup of irq_descdrivers/ drivers/ drivers/ +3 more | +12 | 1 reply | |
| 9/25 | ipu: Use irq_desc_get_xxx() to avoid redundant lookup of irq_descdrivers/ drivers/ | +3 | 0 replies | |
| 10/25 | sh: intc: Use irq_desc_get_xxx() to avoid redundant lookup of irq_descdrivers/ drivers/ | +9 | 2 replies | |
| 11/25 | keystone, irq: Use irq_data_get_xxx() to avoid redundant lookup of irq_datadrivers/ | +6 | 0 replies | |
| 12/25 | spmi: Use irq_desc_get_xxx() to avoid redundant lookup of irq_descdrivers/ | +2 | 0 replies | |
| 13/25 | genirq: Kill the parameter 'irq' of kstat_incr_irqs_this_cpu()kernel/ kernel/ kernel/ +1 more | +11 | 1 reply | |
| 14/25 | genirq: Kill the first parameter 'irq' of irq_flow_handler_tinclude/ include/ include/ +3 more | +27 | 23 replies | |
| 15/25 | genirq: Kill the first parameter 'irq' of irq_flow_handler_tarch/ arch/ arch/ +21 more | +39 | 5 replies | |
| 16/25 | genirq: Kill the first parameter 'irq' of irq_flow_handler_tarch/ arch/ arch/ +20 more | +36 | 0 replies | |
| 17/25 | genirq: Kill the first parameter 'irq' of irq_flow_handler_tarch/ arch/ arch/ +11 more | +28 | 0 replies | |
| 18/25 | genirq: Kill the first parameter 'irq' of irq_flow_handler_tarch/ arch/ arch/ +4 more | +15 | 0 replies | |
| 18/25 | genirq: Kill the first parameter 'irq' of irq_flow_handler_tarch/ arch/ arch/ +4 more | +15 | 0 replies | |
| 19/25 | genirq: Kill the first parameter 'irq' of irq_flow_handler_tarch/ arch/ arch/ +4 more | +14 | 0 replies | |
| 20/25 | genirq: Kill the first parameter 'irq' of irq_flow_handler_tarch/ arch/ arch/ +9 more | +16 | 1 reply | |
| 21/25 | genirq: Kill the first parameter 'irq' of irq_flow_handler_tdrivers/ drivers/ drivers/ +16 more | +37 | 0 replies | |
| 22/25 | genirq: Kill the first parameter 'irq' of irq_flow_handler_tdrivers/ drivers/ drivers/ +19 more | +31 | 0 replies | |
| 23/25 | genirq: Kill the first parameter 'irq' of irq_flow_handler_tdrivers/ drivers/ drivers/ +16 more | +30 | 0 replies | |
| 24/25 | genirq: Kill the first parameter 'irq' of irq_flow_handler_tdrivers/ drivers/ drivers/ +5 more | +9 | 1 reply | |
| 25/25 | genirq: Kill the first parameter 'irq' of irq_flow_handler_tdrivers/ drivers/ drivers/ +1 more | +11 | 3 replies |
Reviews trailers per patch
7 of 26 patches have a Reviewed-by or Acked-by.
| Patch | Hans-Christian Egtvedt | Lee Jones | Russell King | Linus Walleij |
|---|---|---|---|---|
| 1/25 | A-b | |||
| 2/25 | A-b | |||
| 3/25 | ||||
| 4/25 | ||||
| 5/25 | A-b | |||
| 6/25 | A-b | |||
| 7/25 | ||||
| 8/25 | A-b | |||
| 9/25 | ||||
| 10/25 | ||||
| 11/25 | ||||
| 12/25 | ||||
| 13/25 | ||||
| 14/25 | ||||
| 15/25 | ||||
| 16/25 | ||||
| 17/25 | ||||
| 18/25 | ||||
| 18/25 | ||||
| 19/25 | ||||
| 20/25 | A-b | |||
| 21/25 | ||||
| 22/25 | ||||
| 23/25 | ||||
| 24/25 | A-b | |||
| 25/25 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.
Cover letter [RFC v1 00/25] Optimize irq flow handler
This is an patch set to optimize irq flow handler. It could be split into three part.
1) Patch 1-12 get rid of redundant looking up of irq_desc and irq_data when we already had an pointer to corresponding irq_desc in irq flow handler. This part should be pretty safe.
2) Patch 13 is a perparation patch.
3) Patch 14-25 should be merge into one big fat patch, which kills the first parameter 'irq' of irq_flow_handler_t. I hope I have made all needed changes, but there are still some handler missed. After the conversion, there are only about 20 irq handlers which really access the irq number. This part is still in early stage and may cause building failures.
Please comment on whether we should be go on with the third part to kill 'irq' of irq_flow_handler_t.
Thanks!
Gerry
Jiang Liu (25):
ARM, irq: Use irq_desc_get_xxx() to avoid redundant lookup of
irq_desc
avr32, irq: Use irq_desc_get_xxx() to avoid redundant lookup of
irq_desc
MIPS, irq: Use irq_desc_get_xxx() to avoid redundant lookup of
irq_desc
powerpc, irq: Use irq_desc_get_xxx() to avoid redundant lookup of
irq_desc
gpio: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
pinctrl: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
irqchip: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
mfd: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
ipu: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
sh: intc: Use irq_desc_get_xxx() to avoid redundant lookup of
irq_desc
keystone, irq: Use irq_data_get_xxx() to avoid redundant lookup of
irq_data
spmi: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
genirq: Kill the parameter 'irq' of kstat_incr_irqs_this_cpu()
genirq: Kill the first parameter 'irq' of irq_flow_handler_t
genirq: Kill the first parameter 'irq' of irq_flow_handler_t
genirq: Kill the first parameter 'irq' of irq_flow_handler_t
genirq: Kill the first parameter 'irq' of irq_flow_handler_t
genirq: Kill the first parameter 'irq' of irq_flow_handler_t
genirq: Kill the first parameter 'irq' of irq_flow_handler_t
genirq: Kill the first parameter 'irq' of irq_flow_handler_t
genirq: Kill the first parameter 'irq' of irq_flow_handler_t
genirq: Kill the first parameter 'irq' of irq_flow_handler_t
genirq: Kill the first parameter 'irq' of irq_flow_handler_t
genirq: Kill the first parameter 'irq' of irq_flow_handler_t
genirq: Kill the first parameter 'irq' of irq_flow_handler_t
arch/alpha/kernel/irq.c | 2 +- arch/arm/common/it8152.c | 2 +- arch/arm/common/locomo.c | 5 +-- arch/arm/common/sa1111.c | 6 ++-- arch/arm/include/asm/hardware/it8152.h | 2 +- arch/arm/include/asm/mach/irq.h | 4 +-- arch/arm/mach-dove/irq.c | 5 +-- arch/arm/mach-footbridge/isa-irq.c | 4 +-- arch/arm/mach-gemini/gpio.c | 2 +- arch/arm/mach-imx/3ds_debugboard.c | 2 +- arch/arm/mach-imx/mach-mx31ads.c | 2 +- arch/arm/mach-iop13xx/msi.c | 2 +- arch/arm/mach-lpc32xx/irq.c | 4 +-- arch/arm/mach-omap1/fpga.c | 2 +- arch/arm/mach-omap2/prm_common.c | 2 +- arch/arm/mach-pxa/balloon3.c | 3 +- arch/arm/mach-pxa/cm-x2xx-pci.c | 4 +-- arch/arm/mach-pxa/lpd270.c | 3 +- arch/arm/mach-pxa/pcm990-baseboard.c | 1 + arch/arm/mach-pxa/viper.c | 3 +- arch/arm/mach-pxa/zeus.c | 3 +- arch/arm/mach-rpc/ecard.c | 2 +- arch/arm/mach-s3c64xx/common.c | 8 ++--- arch/arm/mach-sa1100/neponset.c | 2 +- arch/arm/plat-orion/gpio.c | 4 +-- arch/avr32/mach-at32ap/extint.c | 2 +- arch/avr32/mach-at32ap/pio.c | 4 +-- arch/blackfin/kernel/ipipe.c | 4 +-- arch/c6x/platforms/megamod-pic.c | 3 +- arch/m68k/amiga/amiints.c | 8 ++--- arch/m68k/coldfire/intc-5272.c | 4 +-- arch/m68k/include/asm/mac_via.h | 2 +- arch/m68k/mac/baboon.c | 2 +- arch/m68k/mac/oss.c | 4 +-- arch/m68k/mac/psc.c | 3 +- arch/m68k/mac/via.c | 6 ++-- arch/mips/alchemy/common/irq.c | 4 +-- arch/mips/alchemy/devboards/bcsr.c | 3 +- arch/mips/ath25/ar2315.c | 4 +-- arch/mips/ath25/ar5312.c | 4 +-- arch/mips/ath79/irq.c | 11 ++++--- arch/mips/cavium-octeon/octeon-irq.c | 12 ++++--- arch/mips/include/asm/netlogic/common.h | 4 +-- arch/mips/jz4740/gpio.c | 2 +- arch/mips/netlogic/common/smp.c | 4 +-- arch/mips/pci/pci-ar2315.c | 4 +-- arch/mips/pci/pci-ar71xx.c | 4 +-- arch/mips/pci/pci-ar724x.c | 4 +-- arch/mips/pci/pci-rt3883.c | 5 +-- arch/mips/ralink/irq.c | 4 +-- arch/powerpc/include/asm/qe_ic.h | 23 ++++++-------- arch/powerpc/include/asm/tsi108_pci.h | 2 +- arch/powerpc/platforms/512x/mpc5121_ads_cpld.c | 4 ++- arch/powerpc/platforms/52xx/media5200.c | 2 +- arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 4 +-- arch/powerpc/platforms/82xx/pq2ads-pci-pic.c | 2 +- arch/powerpc/platforms/85xx/common.c | 2 +- arch/powerpc/platforms/85xx/mpc85xx_ds.c | 2 +- arch/powerpc/platforms/85xx/socrates_fpga_pic.c | 3 +- arch/powerpc/platforms/86xx/pic.c | 2 +- arch/powerpc/platforms/8xx/m8xx_setup.c | 2 +- arch/powerpc/platforms/cell/axon_msi.c | 4 +-- arch/powerpc/platforms/cell/interrupt.c | 3 +- arch/powerpc/platforms/cell/spider-pic.c | 2 +- arch/powerpc/platforms/chrp/setup.c | 2 +- arch/powerpc/platforms/embedded6xx/hlwd-pic.c | 2 +- arch/powerpc/platforms/embedded6xx/mvme5100.c | 2 +- arch/powerpc/platforms/pseries/setup.c | 2 +- arch/powerpc/sysdev/ge/ge_pic.c | 2 +- arch/powerpc/sysdev/mpic.c | 2 +- arch/powerpc/sysdev/qe_lib/qe_ic.c | 4 +-- arch/powerpc/sysdev/tsi108_pci.c | 2 +- arch/powerpc/sysdev/uic.c | 4 +-- arch/powerpc/sysdev/xics/xics-common.c | 2 +- arch/powerpc/sysdev/xilinx_intc.c | 2 +- arch/sh/boards/mach-se/7343/irq.c | 4 +-- arch/sh/boards/mach-se/7722/irq.c | 3 +- arch/sh/boards/mach-se/7724/irq.c | 3 +- arch/sh/boards/mach-x3proto/gpio.c | 4 +-- arch/sh/cchips/hd6446x/hd64461.c | 2 +- arch/sparc/kernel/leon_kernel.c | 2 +- arch/sparc/kernel/leon_pci_grpci1.c | 2 +- arch/sparc/kernel/leon_pci_grpci2.c | 2 +- arch/tile/kernel/pci_gx.c | 4 +-- arch/unicore32/kernel/irq.c | 3 +- arch/x86/kernel/irq_64.c | 2 +- arch/x86/lguest/boot.c | 2 +- drivers/dma/ipu/ipu_irq.c | 8 +++-- drivers/gpio/gpio-altera.c | 6 ++-- drivers/gpio/gpio-bcm-kona.c | 4 +-- drivers/gpio/gpio-davinci.c | 3 +- drivers/gpio/gpio-dwapb.c | 4 +-- drivers/gpio/gpio-ep93xx.c | 5 +-- drivers/gpio/gpio-intel-mid.c | 2 +- drivers/gpio/gpio-lynxpoint.c | 2 +- drivers/gpio/gpio-mpc8xxx.c | 2 +- drivers/gpio/gpio-msic.c | 2 +- drivers/gpio/gpio-msm-v2.c | 2 +- drivers/gpio/gpio-mvebu.c | 4 +-- drivers/gpio/gpio-mxc.c | 10 +++--- drivers/gpio/gpio-mxs.c | 4 +-- drivers/gpio/gpio-omap.c | 4 +-- drivers/gpio/gpio-pl061.c | 2 +- drivers/gpio/gpio-pxa.c | 2 +- drivers/gpio/gpio-sa1100.c | 4 +-- drivers/gpio/gpio-tegra.c | 6 ++-- drivers/gpio/gpio-timberdale.c | 7 +++-- drivers/gpio/gpio-tz1090.c | 4 +-- drivers/gpio/gpio-vf610.c | 4 +-- drivers/gpio/gpio-zynq.c | 4 +-- drivers/gpu/ipu-v3/ipu-common.c | 8 ++--- drivers/irqchip/exynos-combiner.c | 8 ++--- drivers/irqchip/irq-armada-370-xp.c | 2 +- drivers/irqchip/irq-bcm7038-l1.c | 2 +- drivers/irqchip/irq-bcm7120-l2.c | 2 +- drivers/irqchip/irq-brcmstb-l2.c | 6 ++-- drivers/irqchip/irq-dw-apb-ictl.c | 6 ++-- drivers/irqchip/irq-gic.c | 6 ++-- drivers/irqchip/irq-imgpdc.c | 5 +-- drivers/irqchip/irq-keystone.c | 3 +- drivers/irqchip/irq-metag-ext.c | 3 +- drivers/irqchip/irq-metag.c | 3 +- drivers/irqchip/irq-mips-gic.c | 2 +- drivers/irqchip/irq-mmp.c | 3 +- drivers/irqchip/irq-orion.c | 4 +-- drivers/irqchip/irq-s3c24xx.c | 3 +- drivers/irqchip/irq-sunxi-nmi.c | 4 +-- drivers/irqchip/irq-tb10x.c | 4 +-- drivers/irqchip/irq-versatile-fpga.c | 6 ++-- drivers/irqchip/irq-vic.c | 2 +- drivers/irqchip/spear-shirq.c | 4 +-- drivers/mfd/asic3.c | 2 +- drivers/mfd/ezx-pcap.c | 4 +-- drivers/mfd/htc-egpio.c | 2 +- drivers/mfd/jz4740-adc.c | 2 +- drivers/mfd/max8997-irq.c | 8 ++--- drivers/mfd/mt6397-core.c | 8 ++--- drivers/mfd/pm8921-core.c | 2 +- drivers/mfd/t7l66xb.c | 4 +-- drivers/mfd/tc6393xb.c | 4 +-- drivers/mfd/twl6030-irq.c | 2 +- drivers/mfd/ucb1x00-core.c | 4 +-- drivers/pci/host/pci-keystone-dw.c | 15 ++++----- drivers/pci/host/pci-keystone.c | 7 +++-- drivers/pinctrl/bcm/pinctrl-cygnus-gpio.c | 2 +- drivers/pinctrl/intel/pinctrl-baytrail.c | 2 +- drivers/pinctrl/intel/pinctrl-cherryview.c | 4 +-- drivers/pinctrl/intel/pinctrl-intel.c | 4 +-- drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 6 ++-- drivers/pinctrl/nomadik/pinctrl-nomadik.c | 14 ++++----- drivers/pinctrl/pinctrl-amd.c | 7 +++-- drivers/pinctrl/pinctrl-at91.c | 4 +-- drivers/pinctrl/pinctrl-coh901.c | 7 +++-- drivers/pinctrl/pinctrl-rockchip.c | 7 +++-- drivers/pinctrl/pinctrl-single.c | 4 +-- drivers/pinctrl/pinctrl-st.c | 10 +++--- drivers/pinctrl/qcom/pinctrl-msm.c | 6 ++-- drivers/pinctrl/samsung/pinctrl-exynos.c | 12 +++---- drivers/pinctrl/samsung/pinctrl-s3c24xx.c | 26 ++++++++-------- drivers/pinctrl/samsung/pinctrl-s3c64xx.c | 32 +++++++++---------- drivers/pinctrl/sirf/pinctrl-sirf.c | 7 +++-- drivers/pinctrl/spear/pinctrl-plgpio.c | 2 +- drivers/pinctrl/sunxi/pinctrl-sunxi.c | 7 +++-- drivers/sh/intc/core.c | 4 +-- drivers/sh/intc/virq.c | 17 +++++----- drivers/spmi/spmi-pmic-arb.c | 6 ++-- include/linux/irq.h | 16 +++++----- include/linux/irqdesc.h | 9 ++++-- include/linux/irqhandler.h | 2 +- kernel/irq/chip.c | 38 ++++++++++------------- kernel/irq/handle.c | 6 ++-- kernel/irq/internals.h | 2 +- kernel/irq/irqdesc.c | 4 +-- 173 files changed, 420 insertions(+), 398 deletions(-)
Signature · 1 line
1.7.10.4