Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sysmon_taskq(9) [netbsd man page]

SYSMON_TASKQ(9) 					   BSD Kernel Developer's Manual					   SYSMON_TASKQ(9)

NAME
sysmon_taskq -- general purpose system monitoring task queue SYNOPSIS
#include <dev/sysmon/sysmon_taskq.h> void sysmon_task_queue_preinit(void); void sysmon_task_queue_init(void); void sysmon_task_queue_fini(void); int sysmon_task_queue_sched(u_int pri, void (*func)(void *), void *arg); DESCRIPTION
The machine-independent sysmon_taskq provides a simple general purpose task queue. It can be used to run callbacks that require thread con- text, but do not warrant the use of a more fine-grained solution. Although the intended usage is related to the context of system monitoring and power management, also other comparable functions are suitable for sysmon_taskq. FUNCTIONS
The necessary internal data structures are initialized during system startup by sysmon_task_queue_preinit(). Before actual usage, a machine- dependent procedure should finish the initialization by calling sysmon_task_queue_init(). This will create a kernel thread that can be later halted by sysmon_task_queue_fini(). All scheduled tasks are executed before the queue is halted. The sysmon_task_queue_sched() enqueues func to be executed at the priority pri. If pri is 0, the scheduled function will be placed as the last element in the queue. The single argument passed to func is specified by arg. RETURN VALUES
Upon successful completion, sysmon_task_queue_sched() returns 0. Otherwise, the following error values are returned: [EINVAL] An invalid parameter was specified. [ENOMEM] There was not enough memory. SEE ALSO
queue(3), kthread(9), workqueue(9) AUTHORS
Jason R. Thorpe <thorpej@NetBSD.org> BSD
January 24, 2010 BSD
Man Page