Add usched_set() manpage.
authorJoe Talbott <josepht@dragonflybsd.org>
Thu, 5 Jul 2007 17:36:46 +0000 (17:36 +0000)
committerJoe Talbott <josepht@dragonflybsd.org>
Thu, 5 Jul 2007 17:36:46 +0000 (17:36 +0000)
lib/libc/sys/Makefile.inc
lib/libc/sys/usched_set.2 [new file with mode: 0644]

index e44a1d4..8806734 100644 (file)
@@ -1,6 +1,6 @@
 #      @(#)Makefile.inc        8.3 (Berkeley) 10/24/94
 # $FreeBSD: src/lib/libc/sys/Makefile.inc,v 1.75.2.7 2003/04/22 17:31:18 trhodes Exp $
-# $DragonFly: src/lib/libc/sys/Makefile.inc,v 1.26 2007/06/17 06:06:12 swildner Exp $
+# $DragonFly: src/lib/libc/sys/Makefile.inc,v 1.27 2007/07/05 17:36:46 josepht Exp $
 
 # sys sources
 .PATH: ${.CURDIR}/../libc/${MACHINE_ARCH}/sys ${.CURDIR}/../libc/sys
@@ -91,7 +91,7 @@ MAN+= _exit.2 accept.2 access.2 acct.2 adjtime.2 \
        sigstack.2 sigsuspend.2 socket.2 socketpair.2 stat.2 statfs.2 \
        swapon.2 symlink.2 sync.2 sysarch.2 syscall.2 syslink.2 \
        truncate.2 tls.2 umask.2 umtx.2 undelete.2 \
-       unlink.2 utimes.2 upc_register.2 uuidgen.2 vfork.2 wait.2 write.2
+       unlink.2 utimes.2 upc_register.2 usched_set.2 uuidgen.2 vfork.2 wait.2 write.2
 .if !defined(NO_P1003_1B)
 MAN+=  sched_get_priority_max.2 sched_setparam.2 \
        sched_setscheduler.2 sched_yield.2
diff --git a/lib/libc/sys/usched_set.2 b/lib/libc/sys/usched_set.2
new file mode 100644 (file)
index 0000000..00c3935
--- /dev/null
@@ -0,0 +1,102 @@
+.\" Copyright (c) 2007 The DragonFly Project.  All rights reserved.
+.\"
+.\" This code is derived from software contributed to The DragonFly Project
+.\" by Matthew Dillon <dillon@backplane.com>
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\"
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in
+.\"    the documentation and/or other materials provided with the
+.\"    distribution.
+.\" 3. Neither the name of The DragonFly Project nor the names of its
+.\"    contributors may be used to endorse or promote products derived
+.\"    from this software without specific, prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+.\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
+.\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
+.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $DragonFly: src/lib/libc/sys/usched_set.2,v 1.1 2007/07/05 17:36:46 josepht Exp $
+.\"
+.Dd July 5, 2007
+.Dt USCHED_SET 2
+.Os
+.Sh NAME
+.Nm usched_set
+.Nd setting up a proc's usched
+.Sh LIBRARY
+.Lb libc
+.Sh SYNOPSIS
+.In sys/usched.h
+.Ft int
+.Fn usched_set "pid_t pid" "int cmd" "void *data" "int bytes"
+.Sh DESCRIPTION
+The
+.Fn usched_set
+function is used to perform several user scheduler tasks.  These tasks
+include: setting the user scheduler, assigning an LWP to a specific CPU,
+adding a CPU to the available CPUs for an LWP, and removing a CPU from
+the list of available CPUs for an LWP.
+.Pp
+The
+.Fa cmd
+argument specifies the action for 
+.Fn usched_set
+to take.  USCHED_SET_SCHEDULER sets the user scheduler where
+.Fa data
+is a
+.Ft char *
+that contains the name of the user scheduler.  USCHED_SET_CPU assigns the 
+LWP to the cpuid pointed to by 
+.Fa data
+. USCHED_ADD_CPU adds the cpuid specified
+by 
+.Fa data
+to the list of available CPUs for the LWP.  USCHED_DEL_CPU removes
+the cpuid specified by
+.Fa data
+from the list of available CPUs for the LWP.
+.Sh RETURN VALUES
+.Rv -std
+.Sh ERRORS
+The function will fail if:
+.Bl -tag -width Er
+.It Bq Er EINVAL
+The user scheduler to set is not in the list of available user schedulers.
+The
+.Fa bytes
+argument does is not the correct size (int) for a cpuid.  The specified cpuid
+is not set in smp_active_mask.
+.Fa cmd
+contains an unkown value.
+.It Bq Er EFBIG
+The specified cpuid is not a valid cpuid for the system.
+.It Bq Er EPERM
+Deleting the specified cpuid leaves the LWP without a CPU to run on.
+.El
+.Sh SEE ALSO
+.Sh HISTORY
+The
+.Fn usched_set
+function call was added in
+.Dx 1.9 .
+.Sh AUTHORS
+.Fn usched_set
+was written by 
+.An Matt Dillon .
+This manual page was written by 
+.An Joe Talbott