aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Green <andy@openmoko.com>2009-01-29 14:28:16 +0000
committerAndy Green <agreen@octopus.localdomain>2009-01-29 14:28:16 +0000
commit567549dbdad0180a2112c8f8be0bbcab2f288b73 (patch)
tree59dad305ca0517d918d677b246b753c7a3c610f0
parent2b2138d7e932f5a6dcfc30f8d2868bf88bbde8a8 (diff)
add-kconfig-for-find-irq-blockers.patch
This adds a debug section Kconfig entry for the interrupt blocking detection and deals with the config in our stock defconfigs Signed-off-by: Andy Green <andy@openmoko.com>
-rw-r--r--arch/arm/configs/gta01-moredrivers-defconfig2
-rw-r--r--arch/arm/configs/gta02-moredrivers-defconfig1
-rw-r--r--arch/arm/configs/gta02-packaging-defconfig1
-rw-r--r--arch/arm/configs/gta03_defconfig2
-rw-r--r--arch/arm/include/asm/irqflags.h8
-rw-r--r--arch/arm/kernel/Makefile2
-rw-r--r--lib/Kconfig.debug7
7 files changed, 20 insertions, 3 deletions
diff --git a/arch/arm/configs/gta01-moredrivers-defconfig b/arch/arm/configs/gta01-moredrivers-defconfig
index 574df960c11..aef1fcfb5fb 100644
--- a/arch/arm/configs/gta01-moredrivers-defconfig
+++ b/arch/arm/configs/gta01-moredrivers-defconfig
@@ -2039,3 +2039,5 @@ CONFIG_TEXTSEARCH_FSM=m
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_DMA=y
+# CONFIG_FIND_IRQ_BLOCKERS is not set
+
diff --git a/arch/arm/configs/gta02-moredrivers-defconfig b/arch/arm/configs/gta02-moredrivers-defconfig
index 36fa51a1d8d..a5b25a5f9de 100644
--- a/arch/arm/configs/gta02-moredrivers-defconfig
+++ b/arch/arm/configs/gta02-moredrivers-defconfig
@@ -2019,6 +2019,7 @@ CONFIG_HAVE_FUNCTION_TRACER=y
# CONFIG_BOOT_TRACER is not set
# CONFIG_TRACE_BRANCH_PROFILING is not set
# CONFIG_STACK_TRACER is not set
+# CONFIG_FIND_IRQ_BLOCKERS is not set
CONFIG_DYNAMIC_PRINTK_DEBUG=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
diff --git a/arch/arm/configs/gta02-packaging-defconfig b/arch/arm/configs/gta02-packaging-defconfig
index f2241c3cf7c..6780bdb85da 100644
--- a/arch/arm/configs/gta02-packaging-defconfig
+++ b/arch/arm/configs/gta02-packaging-defconfig
@@ -2155,3 +2155,4 @@ CONFIG_TEXTSEARCH_FSM=m
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_DMA=y
+# CONFIG_FIND_IRQ_BLOCKERS is not set
diff --git a/arch/arm/configs/gta03_defconfig b/arch/arm/configs/gta03_defconfig
index a2df7db9197..3596df20d2f 100644
--- a/arch/arm/configs/gta03_defconfig
+++ b/arch/arm/configs/gta03_defconfig
@@ -1732,3 +1732,5 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_DMA=y
+# CONFIG_FIND_IRQ_BLOCKERS is not set
+
diff --git a/arch/arm/include/asm/irqflags.h b/arch/arm/include/asm/irqflags.h
index 3b01c151507..dd7872ab798 100644
--- a/arch/arm/include/asm/irqflags.h
+++ b/arch/arm/include/asm/irqflags.h
@@ -5,11 +5,15 @@
#include <asm/ptrace.h>
-
+#ifdef CONFIG_FIND_IRQ_BLOCKERS
void iblock_start(void);
void iblock_end(void);
void iblock_end_maybe(unsigned long flags);
-
+#else
+#define iblock_start()
+#define iblock_end()
+#define iblock_end_maybe(x)
+#endif
/*
* CPU interrupt mask handling.
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile
index 29d70d2ac86..62163b55f34 100644
--- a/arch/arm/kernel/Makefile
+++ b/arch/arm/kernel/Makefile
@@ -44,6 +44,6 @@ endif
head-y := head$(MMUEXT).o
obj-$(CONFIG_DEBUG_LL) += debug.o
-obj-y += iblock.o
+obj-$(CONFIG_FIND_IRQ_BLOCKERS) += iblock.o
extra-y := $(head-y) init_task.o vmlinux.lds
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 4c9ae6085c7..9abfbaa686d 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -851,6 +851,13 @@ menuconfig BUILD_DOCSRC
Say N if you are unsure.
+config FIND_IRQ_BLOCKERS
+ bool "IRQ Blocker statistics"
+ depends on ARM
+ ---help---
+ Enables tracking of IRQ dead-time because something has
+ disabled interrupts
+
config DYNAMIC_PRINTK_DEBUG
bool "Enable dynamic printk() call support"
default n