summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2018-07-10 22:00:20 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2018-07-10 22:00:20 +0000
commitb3042426d0d710e883bfa4cb6905e9e9de0d867c (patch)
treec180478984a4908bb0fee4ae3dfc512e3b0aa061 /lib
parent0d26206d040af150c18ff67b0456da73404b2299 (diff)
downloadsrc-test2-b3042426d0d710e883bfa4cb6905e9e9de0d867c.tar.gz
src-test2-b3042426d0d710e883bfa4cb6905e9e9de0d867c.zip
Notes
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/sys/Makefile.inc2
-rw-r--r--lib/libc/sys/compat-stub.c2
-rw-r--r--lib/libc/sys/numa_getaffinity.2197
3 files changed, 2 insertions, 199 deletions
diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc
index 82a4a7884da5..31b0af4b7d82 100644
--- a/lib/libc/sys/Makefile.inc
+++ b/lib/libc/sys/Makefile.inc
@@ -258,7 +258,6 @@ MAN+= abort2.2 \
nanosleep.2 \
nfssvc.2 \
ntp_adjtime.2 \
- numa_getaffinity.2 \
open.2 \
pathconf.2 \
pdfork.2 \
@@ -430,7 +429,6 @@ MLINKS+=mount.2 nmount.2 \
MLINKS+=mq_receive.2 mq_timedreceive.2
MLINKS+=mq_send.2 mq_timedsend.2
MLINKS+=ntp_adjtime.2 ntp_gettime.2
-MLINKS+=numa_getaffinity.2 numa_setaffinity.2
MLINKS+=open.2 openat.2
MLINKS+=pathconf.2 fpathconf.2
MLINKS+=pathconf.2 lpathconf.2
diff --git a/lib/libc/sys/compat-stub.c b/lib/libc/sys/compat-stub.c
index 3e3a5bb45760..2031b7dc4c20 100644
--- a/lib/libc/sys/compat-stub.c
+++ b/lib/libc/sys/compat-stub.c
@@ -54,3 +54,5 @@ __sym_compat(symbol, __compat_enosys ## symbol, version)
__compat_nosys(netbsd_lchown, FBSD_1.0);
__compat_nosys(netbsd_msync, FBSD_1.0);
+__compat_nosys(numa_getaffinity, FBSD_1.4);
+__compat_nosys(numa_setaffinity, FBSD_1.4);
diff --git a/lib/libc/sys/numa_getaffinity.2 b/lib/libc/sys/numa_getaffinity.2
deleted file mode 100644
index efb78e988210..000000000000
--- a/lib/libc/sys/numa_getaffinity.2
+++ /dev/null
@@ -1,197 +0,0 @@
-.\" Copyright (c) 2008 Christian Brueffer
-.\" Copyright (c) 2008 Jeffrey Roberson
-.\" Copyright (c) 2015 Adrian Chadd
-.\" All rights reserved.
-.\"
-.\" 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.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
-.\"
-.\" $FreeBSD$
-.\"
-.Dd May 7, 2015
-.Dt NUMA_GETAFFINITY 2
-.Os
-.Sh NAME
-.Nm numa_getaffinity ,
-.Nm numa_setaffinity
-.Nd manage NUMA affinity
-.Sh LIBRARY
-.Lb libc
-.Sh SYNOPSIS
-.In sys/param.h
-.In sys/numa.h
-.Ft int
-.Fn numa_getaffinity "cpuwhich_t which" "id_t id" "struct vm_domain_policy_entry *policy"
-.Ft int
-.Fn numa_setaffinity "cpuwhich_t which" "id_t id" "const struct vm_domain_policy_entry *policy"
-.Sh DESCRIPTION
-.Fn numa_getaffinity
-and
-.Fn numa_setaffinity
-allow the manipulation of NUMA policies available to processes and threads.
-These functions may manipulate NUMA policies that contain many processes
-or affect only a single object.
-.Pp
-Valid values for the
-.Fa which
-argument are documented in
-.Xr cpuset 2 .
-These arguments specify which object set are used.
-Only
-.Dv CPU_WHICH_TID
-and
-.Dv CPU_WHICH_PID
-can be manipulated.
-.Pp
-The
-.Fa policy
-entry contains a vm_domain_policy_entry with the following fields:
-.Bd -literal
-struct vm_domain_policy_entry {
- vm_domain_policy_type_t policy; /* VM policy */
- int domain; /* VM domain, if applicable */
-}
-.Ed
-.Fa vm_domain_policy_type_t policy
-is one these:
-.Bl -tag -width VM_POLICY_NONE
-.It Dv VM_POLICY_NONE
-Reset the domain back to none.
-Any parent object NUMA domain policy will apply.
-The only valid value for
-.Dv domain
-is -1.
-.It Dv VM_POLICY_ROUND_ROBIN
-Select round-robin policy.
-Pages will be allocated round-robin from each VM domain in order.
-The only valid value for
-.Dv domain
-is -1.
-.It Dv VM_POLICY_FIXED_DOMAIN
-Select fixed-domain only policy.
-Pages will be allocated from the given
-.Dv domain
-which must be set to a valid VM domain.
-Pages will not be allocated from another domain if
-.Dv domain
-is out of free pages.
-.It Dv VM_POLICY_FIXED_DOMAIN_ROUND_ROBIN
-Select fixed-domain only policy.
-Pages will be allocated from
-.Dv domain
-which must be set to a valid VM domain.
-If page allocation fails, pages will be round-robin
-allocated from another domain if
-.Dv domain
-is out of free pages.
-.It Dv VM_POLICY_FIRST_TOUCH
-Select first-touch policy.
-Pages will be allocated from the NUMA domain which the thread
-is currently scheduled upon.
-Pages will not be allocated from another domain if the current domain
-is out of free pages.
-The only valid value for
-.Dv domain
-is -1.
-.It Dv VM_POLICY_FIRST_TOUCH_ROUND_ROBIN
-Select first-touch policy.
-Pages will be allocated from the NUMA domain which the thread
-is currently scheduled upon.
-Pages will be allocated round-robin from another domain if the
-current domain is out of free pages.
-The only valid value for
-.Dv domain
-is -1.
-.El
-.Pp
-Note that the VM might assign some pages from other domains.
-For example, if an existing page allocation is covered by a superpage
-allocation.
-.Pp
-.Fn numa_getaffinity
-retrieves the
-NUMA policy from the object specified by
-.Fa which
-and
-.Fa id
-and stores it in the space provided by
-.Fa policy .
-.Pp
-.Fn numa_setaffinity
-attempts to set the NUMA policy for the object specified by
-.Fa which
-and
-.Fa id
-to the policy in
-.Fa policy .
-.Sh RETURN VALUES
-.Rv -std
-.Sh ERRORS
-.Va errno
-can contain these error codes:
-.Bl -tag -width Er
-.It Bq Er EINVAL
-The
-.Fa level
-or
-.Fa which
-argument was not a valid value.
-.It Bq Er EINVAL
-The
-.Fa policy
-argument specified when calling
-.Fn numa_setaffinity
-did not contain a valid policy.
-.It Bq Er EFAULT
-The policy pointer passed was invalid.
-.It Bq Er ESRCH
-The object specified by the
-.Fa id
-and
-.Fa which
-arguments could not be found.
-.It Bq Er ERANGE
-The
-.Fa domain
-in the given policy
-was out of the range of possible VM domains available.
-.It Bq Er EPERM
-The calling process did not have the credentials required to complete the
-operation.
-.El
-.Sh SEE ALSO
-.Xr cpuset 1 ,
-.Xr numactl 1 ,
-.Xr cpuset 2 ,
-.Xr cpuset_getaffinity 2 ,
-.Xr cpuset_getid 2 ,
-.Xr cpuset_setaffinity 2 ,
-.Xr cpuset_setid 2 ,
-.Xr pthread_affinity_np 3 ,
-.Xr pthread_attr_affinity_np 3 ,
-.Xr numa 4
-.Sh HISTORY
-The
-.Nm
-family of system calls first appeared in
-.Fx 11.0 .
-.Sh AUTHORS
-.An Adrian Chadd Aq Mt adrian@FreeBSD.org