From mboxrd@z Thu Jan 1 00:00:00 1970 From: Philippe Gerum In-Reply-To: <46DD59D9.9010003@domain.hid> References: <46DD59D9.9010003@domain.hid> Content-Type: text/plain Date: Fri, 07 Sep 2007 09:40:50 +0200 Message-Id: <1189150850.26986.24.camel@domain.hid> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: Philippe Gerum Subject: Re: [Xenomai-core] Make watchdog-timer configurable Reply-To: rpm@xenomai.org List-Id: "Xenomai life and development \(bug reports, patches, discussions\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Johan Borkhuis Cc: xenomai-core On Tue, 2007-09-04 at 15:12 +0200, Johan Borkhuis wrote: > 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). > Merged, with forward port to 2.4. Thanks. > 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 > > > _______________________________________________ > Xenomai-core mailing list > Xenomai-core@domain.hid > https://mail.gna.org/listinfo/xenomai-core -- Philippe.