Re: [Xenomai-core] Make watchdog-timer configurable
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.0 +0200 > +++ xenomai-2.3.2/ksrc/nucleus/Kconfig 2007-09-04 14:13:41.0 +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.c2007-07-07 > 10:18:57.0 +0200 > +++ xenomai-2.3.2/ksrc/nucleus/pod.c2007-09-04 14:06:35.0 +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@gna.org > https://mail.gna.org/listinfo/xenomai-core -- Philippe. ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core
Re: [Xenomai-core] Make watchdog-timer configurable
On Wed, 2007-09-05 at 16:47 +0200, Gilles Chanteperdrix wrote: > Philippe Gerum wrote: > > 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). > > > > > > 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. > > > > > > > Looks good. Will merge, thanks. > > I have nothing against the patch. > > That said, if you have a real-time activity that does not let Linux run > for 4 seconds, you are risking some troubles when the real-time activity > gives back the control to Linux, such as random lockups for example. > You could also use this feature to lower the deadline below 4 secs, which is already pretty high. -- Philippe. ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core
Re: [Xenomai-core] Make watchdog-timer configurable
Philippe Gerum wrote: > 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). > > > > 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. > > > > Looks good. Will merge, thanks. I have nothing against the patch. That said, if you have a real-time activity that does not let Linux run for 4 seconds, you are risking some troubles when the real-time activity gives back the control to Linux, such as random lockups for example. -- Gilles Chanteperdrix. ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core
Re: [Xenomai-core] Make watchdog-timer configurable
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). > > 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. > Looks good. Will merge, thanks. > > 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.0 +0200 > +++ xenomai-2.3.2/ksrc/nucleus/Kconfig 2007-09-04 14:13:41.0 +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.c2007-07-07 > 10:18:57.0 +0200 > +++ xenomai-2.3.2/ksrc/nucleus/pod.c2007-09-04 14:06:35.0 +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@gna.org > https://mail.gna.org/listinfo/xenomai-core -- Philippe. ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core