Subject: CVS commit: src/sys/dev/sysmon
To: None <source-changes@NetBSD.org>
From: Juan Romero Pardines <xtraeme@netbsd.org>
List: source-changes
Date: 08/30/2007 18:01:27
Module Name:	src
Committed By:	xtraeme
Date:		Thu Aug 30 18:01:27 UTC 2007

Modified Files:
	src/sys/dev/sysmon: sysmon_envsys.c sysmon_envsys_events.c
	    sysmon_envsysvar.h

Log Message:
Some changes to improve locking on sysmon_envsys(9):

- Remove sme_mtx, a global lock (sme_list_mtx) is used to access to
  the sysmon envsys device.
- Allocate memory with KM_NOSLEEP rather than KM_SLEEP if there's a
  mutex held, to avoid sleeping.
- Remove sysmon_envsys_createplist() and add the logic into
  sysmon_envsys_register().
- sysmon_envsys_register: allocate the array and dictionaries required
  in advance for a device before the locking and adding the objects
  into the array happens.
- Rename sme_make_dictionary() to sme_add_sensor_dictionary() and pass
  to it the dictionary on which the objects will be stored for a sensor.
- Improve locking here and there.

Thanks to Mindaugas Rasiukevicius and Andrew Doran for comments.


To generate a diff of this commit:
cvs rdiff -r1.46 -r1.47 src/sys/dev/sysmon/sysmon_envsys.c
cvs rdiff -r1.19 -r1.20 src/sys/dev/sysmon/sysmon_envsys_events.c
cvs rdiff -r1.12 -r1.13 src/sys/dev/sysmon/sysmon_envsysvar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.