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.