Query: kcpuset_clear
OS: netbsd
Section: 9
Links: netbsd man pages all man pages
Forums: forum home forum categories
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
KCPUSET(9) BSD Kernel Developer's Manual KCPUSET(9)NAMEkcpuset, kcpuset_create, kcpuset_destroy, kcpuset_copy, kcpuset_use, kcpuset_unuse, kcpuset_copyin, kcpuset_copyout, kcpuset_zero, kcpuset_fill, kcpuset_set, kcpuset_clear, kcpuset_isset, kcpuset_iszero, kcpuset_match, kcpuset_merge, kcpuset_atomic_set, kcpuset_atomic_clear -- dynamic kernel CPU setsSYNOPSIS#include <sys/kcpuset.h> void kcpuset_create(kcpuset_t **retkcp, bool zero); void kcpuset_destroy(kcpuset_t *kcp); void kcpuset_copy(kcpuset_t *dkcp, kcpuset_t *skcp); void kcpuset_use(kcpuset_t *kcp); void kcpuset_unuse(kcpuset_t *kcp, kcpuset_t **lst); int kcpuset_copyin(const cpuset_t *ucp, kcpuset_t *kcp, size_t len); int kcpuset_copyout(kcpuset_t *kcp, cpuset_t *ucp, size_t len); void kcpuset_zero(kcpuset_t *kcp); void kcpuset_fill(kcpuset_t *kcp); void kcpuset_set(kcpuset_t *kcp, cpuid_t cpu); void kcpuset_clear(kcpuset_t *kcp, cpuid_t cpu); int kcpuset_isset(kcpuset_t * kcp, cpuid_t cpu); bool kcpuset_iszero(kcpuset_t *kcp); bool kcpuset_match(const kcpuset_t *kcp1, const kcpuset_t *kcp2); void kcpuset_merge(kcpuset_t *kcp1, kcpuset_t *kcp2); void kcpuset_atomic_set(kcpuset_t *kcp, cpuid_t cpu); void kcpuset_atomic_clear(kcpuset_t *kcp, cpuid_t cpu);DESCRIPTIONThe machine-independent kcpuset subsystem provides support for dynamic processor sets. Conceptually kcpuset can be understood to be the ker- nel equivalent of the user space cpuset(3) interface.FUNCTIONSkcpuset_create(retkcp, zero) The kcpuset_create() function creates a dynamic CPU set and stores the result to retkcp. If the boolean zero is not false, the allocated set is also initialized to zero. kcpuset_destroy(kcp) Destroys the CPU set kcp and schedules any linked CPU sets for deferred destruction. kcpuset_copy(dkcp, skcp) Copies the CPU set pointed by skcp to dkcp. kcpuset_use(kcp) Marks kcp as being in use by increasing the reference count of the object. Note that initially kcpuset_create() sets the reference count to 1. kcpuset_unuse(kcp, lst) Decreases the internal reference count of kcp, and on the last reference (when the count reaches zero), destroys kcp. If lst is not NULL, then instead of destroying, kcp will be added to the lst list for a deferred destruction. kcpuset_copyin(ucp, kcp, len) Copies the len bytes long user-space CPU set ucp to the kernel CPU set kcp. kcpuset_copyout(kcp, ucp, len) Copies the kernel CPU set kcp to the user-space CPU set ucp. kcpuset_zero(kcp) Clears the set kcp. kcpuset_fill(kcp) Fills the whole set kcp with ones. kcpuset_set(kcp, cpu) Adds cpu to the set kcp. kcpuset_clear(kcp, cpu) Removes cpu from the set kcp. kcpuset_isset(kcp, cpu) Returns 1 if cpu is part of the CPU set kcp. kcpuset_iszero(kcp) Returns true if the set kcp is empty. kcpuset_match(kcp1, kcp2) Compares the sets kcp1 and kcp2, returning true if these are identical. kcpuset_merge(kcp1, kcp2) Merges the set kcp2 to the set kcp1. kcpuset_atomic_set(kcp, cpu) The kcpuset_atomic_set() function operates as kcpuset_set(), but the operation is atomic; see atomic_ops(3) for more details. kcpuset_atomic_clear(kcp, cpu) Removes cpu from the CPU set kcp atomically.CODE REFERENCESThe kcpuset subsystem is implemented within sys/kern/subr_kcpuset.c.SEE ALSOcpuset(3)HISTORYThe kcpuset subsystem first appeared in NetBSD 6.0.BSDOctober 6, 2011 BSD