kcpuset_atomic_clear man page on NetBSD

Man page or keyword search:  
man Server   9087 pages
apropos Keyword Search (all sections)
Output format
NetBSD logo
[printable version]

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

NAME
     kcpuset, 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 sets

SYNOPSIS
     #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);

DESCRIPTION
     The machine-independent kcpuset subsystem provides support for dynamic
     processor sets.  Conceptually kcpuset can be understood to be the kernel
     equivalent of the user space cpuset(3) interface.

FUNCTIONS
     kcpuset_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 ref‐
	      erence 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 REFERENCES
     The kcpuset subsystem is implemented within sys/kern/subr_kcpuset.c.

SEE ALSO
     cpuset(3)

HISTORY
     The kcpuset subsystem first appeared in NetBSD 6.0.

BSD				October 6, 2011				   BSD
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server NetBSD

List of man pages available for NetBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net