Home | History | Annotate | Download | only in sysmon
History log of /src/sys/dev/sysmon/sysmon_wdog.c
RevisionDateAuthorComments
 1.30  31-Dec-2021  riastradh sysmon: Delete trailing whitespace. No functional change intended.
 1.29  14-Dec-2015  pgoyette sysmon's components need to be MODULE_CLASS_DRIVER so they will get
initialized before we configure/initialize any devices that interact
with them.

Thanks, marty!
 1.28  05-Jun-2015  matt Move callout_init to wdog_preinit
 1.27  25-Apr-2015  pgoyette Handle early initialization requirements - thanks martin@ and others
 1.26  23-Apr-2015  pgoyette Modularize sysmon and its components
 1.25  04-Jan-2011  matt branches: 1.25.18; 1.25.36;
add support for autostarting watchdogs (wdog was started by firmware
and can't be disabled). Add critical pool hooks for kernel tickled
watchdogs.
 1.24  16-Dec-2007  dyoung branches: 1.24.28; 1.24.32; 1.24.36;
In sysmon_wdog_unregister(), do not return until all of the watchdog
timer's users are gone. A signal cancels the unregister:
sysmon_wdog_unregister() leaves the watchdog registered.

The only user of sysmon_wdog_unregister() that I can find is in
elansc(4), so this looks like a safe change to make.
 1.23  15-Dec-2007  dyoung Use LIST_FOREACH().
 1.22  05-Dec-2007  ad branches: 1.22.4;
MUTEX_SPIN -> MUTEX_DEFAULT.
 1.21  02-Sep-2007  xtraeme branches: 1.21.6; 1.21.8;
Add <sys/mutex.h> rather than <sys/lock.h>.
 1.20  02-Sep-2007  xtraeme Convert the sysmon watchdog framework to use mutex(9) rather than
simple_locks and initialize them on init_main via sysmon_wdog_init().

All the sysmon code now is cleaned up and doesn't use old style locking.
 1.19  09-Jul-2007  ad branches: 1.19.2; 1.19.6; 1.19.8;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.18  04-Mar-2007  christos branches: 1.18.2; 1.18.4;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.17  19-Feb-2007  ad Back out previous for now. There isn't currently an easy way to set up
shared state before these get attached or used.

From xtraeme@.
 1.16  19-Feb-2007  xtraeme * sysmon_wdog_mtx needs to run at IPL_SOFTCLOCK.
* replace SYSMON_WDOG_{LOCK,UNLOCK} macros with mutex_{enter,exit}

reminded by ad@.
 1.15  18-Feb-2007  xtraeme Replace simple_locks with mutexes, reviewed by ad@.
 1.14  16-Nov-2006  christos branches: 1.14.4;
__unused removal on arguments; approved by core.
 1.13  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.12  11-Dec-2005  christos branches: 1.12.20; 1.12.22;
merge ktrace-lwp.
 1.11  12-Jan-2005  drochner branches: 1.11.10;
apply an "& WDOG_MODE_MASK" so that user mode watchdogs started with "-A"
are terminated properly
 1.10  09-Jan-2005  smb Add a software watchdog timer facility. Because this slightly
changes the "tickle" model of wdogctl(8), it was modified as well;
while I was in there, I cleaned up the argument parsing.

The code was reviewed by simonb@.
 1.9  30-Oct-2003  simonb Remove some assigned-to but otherwise unused variables.
 1.8  29-Jun-2003  fvdl branches: 1.8.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.7  28-Jun-2003  darrenr Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records. The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
 1.6  30-Dec-2002  explorer remove redundant defines
 1.5  06-Oct-2002  kristerw Correct possible return of uninitialized error variable.
 1.4  31-Jul-2002  simonb Fix WDOGIOC_GTICKLER for userland ticklers.
 1.3  13-Nov-2001  lukem branches: 1.3.8;
add RCSIDs
 1.2  30-Jan-2001  thorpej branches: 1.2.2; 1.2.4; 1.2.6;
Make sure to clear sysmon_armed_wdog once the watchdog timer
is disarmed.
 1.1  05-Nov-2000  thorpej branches: 1.1.2;
Split the envsys and watchdog parts of sysmon into their own
files.
 1.1.2.3  11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.2  22-Nov-2000  bouyer Sync with HEAD.
 1.1.2.1  05-Nov-2000  bouyer file sysmon_wdog.c was added on branch thorpej_scsipi on 2000-11-22 16:04:54 +0000
 1.2.6.1  18-Sep-2001  fvdl Various changes to make cloning devices possible:

* Add an extra argument (struct vnode **) to VOP_OPEN. If it is
not NULL, specfs will create a cloned (aliased) vnode during
the call, and return it there. The caller should release and
unlock the original vnode if a new vnode was returned. The
new vnode is returned locked.

* Add a flag field to the cdevsw and bdevsw structures.
DF_CLONING indicates that it wants a new vnode for each
open (XXX is there a better way? devprop?)

* If a device is cloning, always call the close entry
point for a VOP_CLOSE.


Also, rewrite cons.c to do the right thing with vnodes. Use VOPs
rather then direct device entry calls. Suggested by mycroft@

Light to moderate testing done an i386 system (arch doesn't matter
though, these are MI changes).
 1.2.4.2  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.4  03-Jan-2003  thorpej Sync with HEAD.
 1.2.2.3  18-Oct-2002  nathanw Catch up to -current.
 1.2.2.2  01-Aug-2002  nathanw Catch up to -current.
 1.2.2.1  14-Nov-2001  nathanw Catch up to -current.
 1.3.8.1  29-Aug-2002  gehenna catch up with -current.
 1.8.2.5  17-Jan-2005  skrll Sync with HEAD.
 1.8.2.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.3  18-Sep-2004  skrll Sync with HEAD.
 1.8.2.2  03-Aug-2004  skrll Sync with HEAD
 1.8.2.1  02-Jul-2003  darrenr Apply the aborted ktrace-lwp changes to a specific branch. This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it. This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.
 1.11.10.5  21-Jan-2008  yamt sync with head
 1.11.10.4  07-Dec-2007  yamt sync with head
 1.11.10.3  03-Sep-2007  yamt sync with head.
 1.11.10.2  30-Dec-2006  yamt sync with head.
 1.11.10.1  21-Jun-2006  yamt sync with head.
 1.12.22.2  10-Dec-2006  yamt sync with head.
 1.12.22.1  22-Oct-2006  yamt sync with head
 1.12.20.1  18-Nov-2006  ad Sync with head.
 1.14.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.18.4.1  11-Jul-2007  mjf Sync with head.
 1.18.2.2  09-Oct-2007  ad Sync with head.
 1.18.2.1  01-Jul-2007  ad Adapt to callout API change.
 1.19.8.2  09-Jan-2008  matt sync with HEAD
 1.19.8.1  06-Nov-2007  matt sync with HEAD
 1.19.6.2  09-Dec-2007  jmcneill Sync with HEAD.
 1.19.6.1  03-Sep-2007  jmcneill Sync with HEAD.
 1.19.2.1  03-Sep-2007  skrll Sync with HEAD.
 1.21.8.2  26-Dec-2007  ad Sync with head.
 1.21.8.1  08-Dec-2007  ad Sync with head.
 1.21.6.2  27-Dec-2007  mjf Sync with HEAD.
 1.21.6.1  08-Dec-2007  mjf Sync with HEAD.
 1.22.4.1  02-Jan-2008  bouyer Sync with HEAD
 1.24.36.1  07-Jan-2011  matt Allow kernel ticklers to turn themselves on at boot.
 1.24.32.1  05-Mar-2011  rmind sync with head
 1.24.28.2  15-Feb-2014  matt move sysmon_wdog_setmode prototype to sysmonvar.h
 1.24.28.1  13-May-2010  cliff moveed callout_init call from sysmonopen_wdog to sysmon_wdog_init
 1.25.36.2  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.25.36.1  06-Jun-2015  skrll Sync with HEAD
 1.25.18.1  03-Dec-2017  jdolecek update from HEAD

RSS XML Feed