* [Adeos-main] [PATCH 2/2] Disable context checks
@ 2007-05-25 13:47 Jan Kiszka
0 siblings, 0 replies; only message in thread
From: Jan Kiszka @ 2007-05-25 13:47 UTC (permalink / raw)
To: adeos-main; +Cc: Philippe Gerum
[-- Attachment #1.1: Type: text/plain, Size: 161 bytes --]
Introduce ipipe_disable_check_context and use it when dumping panic
traces. This avoids triggering the alarm while actually dumping a
different fault.
Jan
[-- Attachment #1.2: disable-context-check.patch --]
[-- Type: text/plain, Size: 2194 bytes --]
---
include/linux/ipipe_base.h | 11 +++++++++++
kernel/ipipe/core.c | 9 +++++----
kernel/ipipe/tracer.c | 2 ++
3 files changed, 18 insertions(+), 4 deletions(-)
Index: linux-2.6.20/include/linux/ipipe_base.h
===================================================================
--- linux-2.6.20.orig/include/linux/ipipe_base.h
+++ linux-2.6.20/include/linux/ipipe_base.h
@@ -76,9 +76,20 @@ void __ipipe_unstall_root(void);
void __ipipe_restore_root(unsigned long x);
#ifdef CONFIG_IPIPE_DEBUG_CONTEXT
+
void ipipe_check_context(struct ipipe_domain *border_ipd);
+
+static inline void ipipe_disable_context_check(void)
+{
+ extern int __ipipe_context_check_enabled;
+ __ipipe_context_check_enabled = 0;
+}
+
#else /* !CONFIG_IPIPE_DEBUG_CONTEXT */
+
static inline void ipipe_check_context(struct ipipe_domain *border_ipd) { }
+static inline void ipipe_disable_context_check(void) { }
+
#endif /* !CONFIG_IPIPE_DEBUG_CONTEXT */
#else /* !CONFIG_IPIPE */
Index: linux-2.6.20/kernel/ipipe/core.c
===================================================================
--- linux-2.6.20.orig/kernel/ipipe/core.c
+++ linux-2.6.20/kernel/ipipe/core.c
@@ -1385,15 +1385,16 @@ void __init ipipe_init_proc(void)
#endif /* CONFIG_PROC_FS */
#ifdef CONFIG_IPIPE_DEBUG_CONTEXT
+
+int __ipipe_context_check_enabled = 1;
+
void ipipe_check_context(struct ipipe_domain *border_ipd)
{
- static int check_hit;
-
if (likely(ipipe_current_domain->priority <= border_ipd->priority) ||
- check_hit)
+ !__ipipe_context_check_enabled)
return;
- check_hit = 1;
+ __ipipe_context_check_enabled = 0;
ipipe_trace_panic_freeze();
ipipe_set_printk_sync(ipipe_current_domain);
Index: linux-2.6.20/kernel/ipipe/tracer.c
===================================================================
--- linux-2.6.20.orig/kernel/ipipe/tracer.c
+++ linux-2.6.20/kernel/ipipe/tracer.c
@@ -625,6 +625,8 @@ void ipipe_trace_panic_dump(void)
if (!panic_path)
return;
+ ipipe_disable_context_check();
+
printk("I-pipe tracer log (%d points):\n", cnt);
start = pos = WRAP_POINT_NO(panic_path->trace_pos-1);
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2007-05-25 13:47 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-25 13:47 [Adeos-main] [PATCH 2/2] Disable context checks Jan Kiszka
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.