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
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