History log of /netbsd-src/sys/dev/sysmon/sysmon_envsys.c (Results 1 – 25 of 151)
Revision Date Author Comments
# 9f981eec 20-May-2022 andvar <andvar@NetBSD.org>

s/appropiate/appropriate/ in comments and readme file.


# d7a982b2 31-Dec-2021 riastradh <riastradh@NetBSD.org>

sysmon(9): Fix callout/thread synchronization.

Callout may ONLY take sme_work_mtx, at IPL_SOFTCLOCK; MUST NOT touch
sme_mtx at IPL_NONE. All state the callout needs is serialized by
sme_work_mtx no

sysmon(9): Fix callout/thread synchronization.

Callout may ONLY take sme_work_mtx, at IPL_SOFTCLOCK; MUST NOT touch
sme_mtx at IPL_NONE. All state the callout needs is serialized by
sme_work_mtx now:

- calls to sme_schedule_callout
- calls to sme_schedule_halt
- struct sysmon_envsys::sme_events_timeout
- struct sysmon_envsys::sme_events_list
- struct sysmon_envsys::sme_callout_state
- struct envsys_data::flags
=> yes, this is a little silly -- used for ENVSYS_FNEED_REFRESH
=> should maybe separate the static driver-defined features from
the state flags needed by sysmon_envsys but not important now

Sleeping under sme_work_mtx (except on other adaptive locks at
IPL_SOFTCLOCK) is forbidden. Calling out to the driver under
sme_work_mtx is forbidden.

This should properly fix:

https://mail-index.netbsd.org/tech-kern/2015/10/14/msg019511.html
PR kern/56592

show more ...


# 54853d3d 31-Dec-2021 riastradh <riastradh@NetBSD.org>

sysmon: Delete trailing whitespace. No functional change intended.


# 4ddb8793 07-Sep-2021 andvar <andvar@NetBSD.org>

s/aquire/acquire/ in comments, also one typo fix acqure->acquire.


# 814a7798 11-Jun-2020 thorpej <thorpej@NetBSD.org>

Update for proplib(3) API changes.


# a2b798fd 08-Jun-2020 thorpej <thorpej@NetBSD.org>

Update for proplib(3) API changes.


# b57b0d68 01-Jun-2020 riastradh <riastradh@NetBSD.org>

Don't queue sysmon refresh until the rndsource is attached.

Using the rndsource, as refreshing the sensors will do, is not
allowed until _after_ rnd_source_attach.

XXX pullup-7
XXX pullup-8
XXX pul

Don't queue sysmon refresh until the rndsource is attached.

Using the rndsource, as refreshing the sensors will do, is not
allowed until _after_ rnd_source_attach.

XXX pullup-7
XXX pullup-8
XXX pullup-9

show more ...


# ea659a63 26-Mar-2019 bad <bad@NetBSD.org>

in sysmon_envsys_unregister(): loop over sme_sensors_list with TAILQ_FIRST
instead of TAILQ_FOREACH.

sysmon_envsys_sensor_detach() removes the sensor from sme_sensors_list.
Hence using TAILQ_FOREACH

in sysmon_envsys_unregister(): loop over sme_sensors_list with TAILQ_FIRST
instead of TAILQ_FOREACH.

sysmon_envsys_sensor_detach() removes the sensor from sme_sensors_list.
Hence using TAILQ_FOREACH is not safe.

Suggested by thorpej and jmcneill. Thanks!

show more ...


# 711fe446 26-May-2018 thorpej <thorpej@NetBSD.org>

Avoid dereferencing NULL if we attempt to look up an known unit type.


# 8f4a4ed9 05-May-2018 pgoyette <pgoyette@NetBSD.org>

Defend against some table-lookup-not-found errors.


# cf974319 11-Sep-2017 pgoyette <pgoyette@NetBSD.org>

Improve tracking of the state of an event's callout, and protect all
queries or modifications of the state with the sme_mtx mutex.

Detach the rndsrc before re-attaching it (with potentially new valu

Improve tracking of the state of an event's callout, and protect all
queries or modifications of the state with the sme_mtx mutex.

Detach the rndsrc before re-attaching it (with potentially new values).

Clean up some lock-ordering issues.

And a couple of KNF issues for good measure!

Should address PR kern/52533

XXX Pullup-8 along with the previous fixes from msaitoh@
XXX http://mail-index.netbsd.org/source-changes/2017/09/06/msg088028.html
~
~

show more ...


# 01bfdbc2 06-Sep-2017 msaitoh <msaitoh@NetBSD.org>

Fixes a problem that some driver(e.g. acpitz(4) or coretemp(5)) which
use sysmon_envsys sleep waiting at "rndsrc" when "drvctl -d".
Don't call rnd_detach_source() in sme_remove_event() which is calle

Fixes a problem that some driver(e.g. acpitz(4) or coretemp(5)) which
use sysmon_envsys sleep waiting at "rndsrc" when "drvctl -d".
Don't call rnd_detach_source() in sme_remove_event() which is called
from sme_event_unregister_all(). Instead, call rnd_detach_source() in
sysmon_envsys_sensor_detach() and call sysmon_envsys_sensor_detach()
before sme_event_unregister_sensor(). Each sensor(envsys_data) has each
rnd_src, but some sme_events point to the same rnd_src in a sensor.
Calling rnd_detach_souce() twice with the same rnd_src brokes a reference
count in rnd_src. OK'd by pgoyette@.

show more ...


# 142f2b40 14-Dec-2015 pgoyette <pgoyette@NetBSD.org>

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!


# d7a5c44e 13-Dec-2015 jdc <jdc@NetBSD.org>

Note the sensor number in the error output. Useful for drivers adding
multiple sensors.


# eb659e13 25-Apr-2015 pgoyette <pgoyette@NetBSD.org>

Handle early initialization requirements - thanks martin@ and others


# d3160376 25-Apr-2015 christos <christos@NetBSD.org>

make things boot again, from martin.


# 0a6169f9 25-Apr-2015 pgoyette <pgoyette@NetBSD.org>

Use tabs for indentation.


# a57c1876 25-Apr-2015 pgoyette <pgoyette@NetBSD.org>

Release the mutex in the error path.


# 94bc24cc 24-Apr-2015 pgoyette <pgoyette@NetBSD.org>

The sysmon_envsys module also depends on sysmon_power (for delivery of
sensor events to userland).


# fd9c232e 24-Apr-2015 pgoyette <pgoyette@NetBSD.org>

Remove a left-over debugging printf()


# 8061eede 23-Apr-2015 pgoyette <pgoyette@NetBSD.org>

Modularize sysmon and its components


# 233f556c 13-Apr-2015 riastradh <riastradh@NetBSD.org>

Convert sys/dev to use <sys/rndsource.h>.


# 09695533 14-Mar-2015 hannken <hannken@NetBSD.org>

Add a counter of busy events and stop enqueueing more work if a device is busy.
Protect this counter with a new short time lock "sme_work_mtx" and
keep "sme_mtx" as long time lock.

Removes a deadloc

Add a counter of busy events and stop enqueueing more work if a device is busy.
Protect this counter with a new short time lock "sme_work_mtx" and
keep "sme_mtx" as long time lock.

Removes a deadlock where an active event holds "sme_mtx", the callout
"sme_events_check" blocks on "sme_mtx" and callout processing stops.

show more ...


# 87318503 23-Nov-2014 ozaki-r <ozaki-r@NetBSD.org>

Pull workqueue_destroy out of sme->sme_mtx

workqueue_destroy may sleep so we shouldn't run it with holding a mutex.

Requested by riastradh@.


# ea6af427 10-Aug-2014 tls <tls@NetBSD.org>

Merge tls-earlyentropy branch into HEAD.


1234567