Re: [Xenomai-core] Make watchdog-timer configurable

2007-09-07 Thread Philippe Gerum
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

2007-09-05 Thread Gilles Chanteperdrix
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

2007-09-04 Thread Philippe Gerum
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