All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Borkhuis <j.borkhuis@domain.hid>
To: xenomai-core <xenomai@xenomai.org>
Subject: [Xenomai-core] Make watchdog-timer configurable
Date: Tue, 04 Sep 2007 15:12:57 +0200	[thread overview]
Message-ID: <46DD59D9.9010003@domain.hid> (raw)

I made the following change to Xenomai (version 2.3.2, but it could also 
be applied to 2.4 as the watchdog code has not been changed).

The watchdog timeout is fixed at 4 seconds. For us this is a problem as 
there are some processes that take more time than this.

I made the following change to allow this to be changed through the 
Linux kernel configuration. The value is configurable between 1 and 60 
seconds.

Below is a patchfile that implements this change. Please let me know if 
you have comments on this, or if there are problems with this change.

================
diff -u -r org/xenomai-2.3.2/ksrc/nucleus/Kconfig 
xenomai-2.3.2/ksrc/nucleus/Kconfig
--- org/xenomai-2.3.2/ksrc/nucleus/Kconfig      2007-07-06 
18:42:14.000000000 +0200
+++ xenomai-2.3.2/ksrc/nucleus/Kconfig  2007-09-04 14:13:41.000000000 +0200
@@ -172,6 +172,17 @@
        behalf of the timer tick handler, thus is only active after
        the timer has been started.
 
+config XENO_OPT_WATCHDOG_PERIOD
+       depends on XENO_OPT_WATCHDOG
+       int "Watchdog period (s)"
+       default 4
+    range 1 60
+       help
+
+    Nr of seconds of uninterrupted real-time activity after which
+    the watchdog triggers.
+
+
 menu "Timing"
 
 config XENO_OPT_TIMING_PERIODIC
diff -u -r org/xenomai-2.3.2/ksrc/nucleus/pod.c 
xenomai-2.3.2/ksrc/nucleus/pod.c
--- org/xenomai-2.3.2/ksrc/nucleus/pod.c        2007-07-07 
10:18:57.000000000 +0200
+++ xenomai-2.3.2/ksrc/nucleus/pod.c    2007-09-04 14:06:35.000000000 +0200
@@ -2925,7 +2925,7 @@
        return nkpod->svctable.faulthandler(fltinfo);
 }
 
-#ifdef CONFIG_XENO_OPT_WATCHDOG
+#if (defined CONFIG_XENO_OPT_WATCHDOG) && 
(CONFIG_XENO_OPT_WATCHDOG_PERIOD > 0)
 
 /*!
  * @internal
@@ -2948,7 +2948,7 @@
                return;
        }
 
-       if (unlikely(++sched->wd_count >= 4)) {
+       if (unlikely(++sched->wd_count >= 
CONFIG_XENO_OPT_WATCHDOG_PERIOD)) {
                xnltt_log_event(xeno_ev_watchdog, thread->name);
                xnprintf("watchdog triggered -- killing runaway thread 
'%s'\n",
                         thread->name);

================

Kind regards,
    Johan Borkhuis



             reply	other threads:[~2007-09-04 13:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-04 13:12 Johan Borkhuis [this message]
2007-09-04 13:54 ` [Xenomai-core] Make watchdog-timer configurable Philippe Gerum
2007-09-05 14:47   ` Gilles Chanteperdrix
2007-09-05 15:05     ` Philippe Gerum
2007-09-07  7:40 ` Philippe Gerum

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46DD59D9.9010003@domain.hid \
    --to=j.borkhuis@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.